Xfce Wiki

Sub domains
 

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
contribute:dev:start [2014/03/05 13:29] nickcontribute:dev:start [2024/02/24 11:02] (current) – [Introduction] 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 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]]