| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| contribute:dev:start [2020/04/19 01:13] – [Xfce Development Information] ochosi | contribute:dev:start [2024/07/24 09:41] (current) – [Introduction] alexxcons |
|---|
| | ~~NOTOC~~ |
| ====== Xfce Development Information ====== | ====== Xfce Development Information ====== |
| |
| 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. | * **[[#Introduction|Introduction]]** |
| | * **[[#Communication with the Xfce development team|Communication with the Xfce development team]]** |
| | * **[[#Developer's Tools|Developer's Tools]]** |
| | * **[[#Debugging|Debugging]]** |
| | * **[[#Additional Reading|Additional Reading]]** |
| | |
| | ---- |
| | |
| | ===== Introduction ===== |
| | 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]]. |
| * Xfce API documentation can be found on the [[https://wiki.xfce.org/api_documentation|Xfce development Wiki]]. | * Xfce API documentation can be found on the [[https://wiki.xfce.org/api_documentation|Xfce development Wiki]]. |
| |
| ==== 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 ==== | ---- |
| |
| (lists excerpted from [[https://andreldm.com/2018/12/03/xfce-contributor-guide.html|The Ultimate Contributor's Guide to Xfce]]) | ===== Developer's Tools ===== |
| | |
| | (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]] |
| | |
| | ---- |
| |
| ==== Additional reading ==== | ===== Additional Reading ===== |
| |
| * [[https://blog.xfce.org/2012/11/|How to start contributing to Xfce or any other open source project]] | * [[https://blog.xfce.org/2012/11/|How to start contributing to Xfce or any other open source project]] |
| [[|Back To Top]] | [[|Back To Top]] |
| ---- | ---- |
| | [[:contribute:start:|Back to main Contribute page]] |