Xfce Wiki

Sub domains
 

This is an old revision of the document!


Xfce Development Information

Introduction

For a more in-depth look into how to contribute to Xfce, as a developer, it is recommended to read The Ultimate Contributor's Guide to Xfce for more information.

  • To request a contributor account, please see the docs for more information.
  • Before getting involved with development, it may help to check the current roadmap to get an overview of our current progress.
  • A guide to using Git with Xfce can be found here.
  • For more information on making a release, see Making a Release.
  • Xfce API documentation can be found on the Xfce development Wiki.

Communication with the Xfce development team

There are various ways to get in touch with Xfce developers:

  • For general questions, Xfce's Forum, the Xfce mailing list, our Matrix channel #Xfce and our IRC channel #xfce on Libera are the places to go.
  • For any translation stuff, join the Xfce-i18n mailing list.
  • For anything code related, go to the Xfce-dev mailing list or visit our Matrix channel #xfce-dev (There is as well the old IRC channel #xfce-dev on Libera, though the core devs meanwhile idle on matrix)
  • Matrix provides a bridge to the Libera IRC network. So you can connect to #xfce and #xfce-dev with any matrix client. Check this manual to make use of a Frenode registered Nickname via Matrix.
  • If you are connecting to IRC via Matrix, please dont use Matrix specific things like 'reactions', 'reply', 'delete message' and 'edit message'. While the former will just do nothing for native IRC users. 'edit' might generate an unexpected result. However uploading attachments via Matrix works fine for IRC clients.

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 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 xfce-build script and the xfce/xfce-build:latest container.
  • Now that almost all components are gtk3-based, GtkInspector is an invaluable tool.
  • Offline documentation browser such as Devhelp is faster and more convenient than using a web browser.
  • Glade is a WYSIWYG interface editor, many Xfce components have their UI created using this editor.
  • D-Feet is useful when dealing with D-Bus.
  • Tricky bugs will need advanced tools to find their cause, in this case gdb and valgrind are good companions.
  • Xorg’s utilities, for instance xev and xprop.
  • 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 Xfce-test Quick Start Guide for basic installation instructions.

Debugging

Additional Reading