Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
contribute:dev:start [2014/03/05 13:35] – nick | contribute:dev:start [2024/02/24 11:02] – [Introduction] alexxcons |
---|
====== Contribute code ====== | ~~NOTOC~~ |
| ====== Xfce Development Information ====== |
| |
[[get-a-contributor-account|Get a contributors account]]\\ | * **[[#Introduction|Introduction]]** |
Who can request a developers account and how to do so. | * **[[#Communication with the Xfce development team|Communication with the Xfce development team]]** |
| * **[[#Developer's Tools|Developer's Tools]]** |
| * **[[#Debugging|Debugging]]** |
| * **[[#Additional Reading|Additional Reading]]** |
| |
[[.:git:start|GIT]]\\ | ---- |
How to use the GIT DCVS; a short introduction and Xfce specific things you should know. | |
| |
[[releases|Making release tarballs]]\\ | ===== Introduction ===== |
How to make releases, upload the tarballs and notify the world about it. | For a more in-depth look into 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. |
| |
| * 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/#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]]. |
| * 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]]. |
| |
| ---- |
| |
| ===== Communication with the Xfce development team ===== |
| There are various ways to get in touch with Xfce developers: |
| |
| * 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 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 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! |
| |
| ---- |
| |
| ===== 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. |
| * The terminal is your friend, get used to it, then you will love it. |
| * 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. |
| * 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://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. |
| * 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 ===== |
| |
| * [[https://blog.xfce.org/2012/11/|How to start contributing to Xfce or any other open source project]] |
| * [[https://www.gtk.org/|The GTK Project pages]] |
| * [[https://people.gnome.org/~swilmet/glib-gtk-book/|The GLib/GTK+ Development Platform]] |
| * [[https://git-scm.com/book/|Pro Git]] |
| * See the [[contribute:dev:git:|Xfce/Git page]] for additional reference material on using Git |
| |
| [[|Back To Top]] |
| ---- |
| [[:contribute:start:|Back to main Contribute page]] |