Both sides previous revisionPrevious revisionNext revision | Previous revision |
contribute:dev:start [2020/08/20 22:58] – kevinbowen | contribute:dev:start [2024/07/24 09:41] (current) – [Introduction] alexxcons |
---|
====== Xfce Development Information ====== | ====== Xfce Development Information ====== |
| |
* **[[#General|General]]** | * **[[#Introduction|Introduction]]** |
* **[[#Communicating with the Xfce development team|Communicating with the Xfce development team]]** | * **[[#Communication with the Xfce development team|Communication with the Xfce development team]]** |
* **[[#Developer's Tools|Developer's Tools]]** | * **[[#Developer's Tools|Developer's Tools]]** |
| * **[[#Debugging|Debugging]]** |
* **[[#Additional Reading|Additional Reading]]** | * **[[#Additional Reading|Additional Reading]]** |
| |
---- | ---- |
| |
===== General ===== | ===== Introduction ===== |
For a more in-depth look at how to contribute to Xfce, as a developer, it is recommended to read [[https://andreldm.com/2018/12/03/xfce-contributor-guide.html|The Ultimate Contributor's Guide to Xfce]] for more information. | For new developers, it is recommended to read the [[https://andreldm.com/2018/12/03/xfce-contributor-guide.html|Ultimate Contributor's Guide to Xfce]] in order to get an impression on how to contribute to Xfce. |
| |
* To request a contributor account, please [[:contribute:dev:get-a-contributor-account|see the docs]] for more information. | * To request a contributor account, please [[:contribute:dev:get-a-contributor-account|see the docs]] for more information. |
* Before getting involved with development, it may help to check [[https://wiki.xfce.org/releng/4.16/roadmap|the current roadmap]] to get an overview of our current progress. | * Before getting involved with development, it may help to check [[https://wiki.xfce.org/#developer_roadmaps_schedules|the current roadmap]] to get an overview of our current progress. |
* A guide to using Git with Xfce can be found [[:contribute:dev:git:start|here]]. | * A guide to using Git with Xfce can be found [[:contribute:dev:git:start|here]]. |
* For more information on making a release, see [[:contribute:dev:make-a-release|Making a Release]]. | * For more information on making a release, see [[:contribute:dev:make-a-release|Making a Release]]. |
---- | ---- |
| |
===== Communicating with the Xfce development team ===== | ===== Communication with the Xfce development team ===== |
There are various ways to get in touch with Xfce developers: | There are various ways to get in touch with Xfce developers: |
| |
* For general questions, [[https://forum.xfce.org/|Xfce's Forum]], the [[https://mail.xfce.org/mailman/listinfo/xfce|Xfce mailing list]], and our IRC channel [[irc://irc.freenode.net/#xfce|#xfce on Freenode]] are the places to go. | * For general questions, the [[https://forum.xfce.org/|Xfce's Forum]], the [[https://mail.xfce.org/mailman/listinfo/xfce|Xfce mailing list]] and our [[https://matrix.to/#/#xfce:matrix.org|Matrix channel #xfce]] are places to go. |
* For any translation stuff, join the [[https://mail.xfce.org/mailman/listinfo/xfce-i18n|Xfce-i18n mailing list]]. | * For any translation stuff, join the [[https://mail.xfce.org/mailman/listinfo/xfce-i18n|Xfce-i18n mailing list]]. |
* For anything code related, go to the [[https://mail.xfce.org/mailman/listinfo/xfce4-dev|Xfce-dev mailing list]], or our IRC channel [[irc://irc.freenode.net/#xfce-dev|#xfce-dev on Freenode]]. | * For anything code related, join our [[https://matrix.to/#/#xfce-dev:matrix.org|Matrix channel #xfce-dev]] or write to the [[https://mail.xfce.org/mailman/listinfo/xfce4-dev|Xfce-dev mailing list]]. |
| * The [[https://matrix.to/#/#xfce-space:matrix.org|Xfce Matrix space]] gives an overview on all available Xfce related Matrix channels. (not yet supported by all matrix clients) |
| * The former communication channels on <nowiki>IRC</nowiki>, [[irc://irc.libera.chat/#xfce|#xfce]] and [[irc://irc.libera.chat/#xfce-dev|#xfce-dev]] on Libera can still be accessed, though they are not officially supported anymore. |
| |
All Xfce developers have a real life and live across multiple time zones. If you don't get an answer straight away, be patient and stay online! | All Xfce developers have a real life and live across multiple time zones. If you don't get an answer straight away, be patient and stay online! |
===== Developer's Tools ===== | ===== Developer's Tools ===== |
| |
(The following list is excerpted from [[https://andreldm.com/2018/12/03/xfce-contributor-guide.html|The Ultimate Contributor's Guide to Xfce]]) | (The following list is extracted from [[https://andreldm.com/2018/12/03/xfce-contributor-guide.html|The Ultimate Contributor's Guide to Xfce]]) |
| |
* Use whatever text editor/IDE you are comfortable with. | * Use whatever text editor/IDE you are comfortable with. |
* The terminal is your friend, get used to it, then you will love it. | * The terminal is your friend, get used to it, then you will love it. |
* Now that almost all components are gtk3-based, [[https://wiki.gnome.org/Projects/GTK+/Inspector|GtkInspector]] is an invaluable tool. | * If you want a local Docker-based build environment and build script check out the [[https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/helpers/xfce-build|xfce-build script]] and the xfce/xfce-build:latest container. |
* Offline documentation browser such as [[https://wiki.gnome.org/Apps/Devhelp|Devhelp]] and [[https://zealdocs.org/|Zeal]] are faster and more convenient than using a web browser. | * Now that almost all components are gtk3-based, [[https://wiki.gnome.org/action/show/Projects/GTK/Inspector|GtkInspector]] is an invaluable tool. |
| * Offline documentation browser such as [[https://wiki.gnome.org/Apps/Devhelp|Devhelp]] is faster and more convenient than using a web browser. |
* [[https://glade.gnome.org/|Glade]] is a [[https://en.wikipedia.org/wiki/WYSIWYG|WYSIWYG]] interface editor, many Xfce components have their UI created using this editor. | * [[https://glade.gnome.org/|Glade]] is a [[https://en.wikipedia.org/wiki/WYSIWYG|WYSIWYG]] interface editor, many Xfce components have their UI created using this editor. |
* [[https://wiki.gnome.org/Apps/DFeet|D-Feet]] is useful when dealing with [[https://www.freedesktop.org/wiki/Software/dbus/|D-Bus]]. | * [[https://wiki.gnome.org/Apps/DFeet|D-Feet]] is useful when dealing with [[https://www.freedesktop.org/wiki/Software/dbus/|D-Bus]]. |
* Tricky bugs will need advanced tools to find their cause, in this case [[https://www.gnu.org/software/gdb/|gdb]] and [[http://www.valgrind.org/|valgrind]] are good companions. | * Tricky bugs will need advanced tools to find their cause, in this case [[https://www.gnu.org/software/gdb/|gdb]] and [[http://www.valgrind.org/|valgrind]] are good companions. |
* Xorg’s utilities, for instance [[https://linux.die.net/man/1/xev|xev]] and [[https://linux.die.net/man/1/xprop|xprop]]. | * Xorg’s utilities, for instance [[https://linux.die.net/man/1/xev|xev]] and [[https://linux.die.net/man/1/xprop|xprop]]. |
| * [[https://github.com/schuellerf/xfce-test|xfce-test]] is a Docker container "based on Ubuntu with a build from git sources of all core Xfce components" used for testing and development. See the [[https://wiki.xfce.org/testing/xfce-test|Xfce-test Quick Start Guide]] for basic installation instructions. |
| |
| ---- |
| |
| ===== Debugging ===== |
| |
| * [[https://docs.xfce.org/xfce/xfce4-panel/debugging|Debugging Xfce4-panel & plugins]] |
| |
---- | ---- |