Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
contribute:dev:start [2014/03/05 13:29] – created nickcontribute:dev:start [2024/04/22 00:50] (current) – [Communication with the Xfce development team] alexxcons
Line 1: Line 1:
-====== 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 [[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!
 +
 +----
 +
 +===== 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]]