Xfce Wiki

Sub domains
 

This is an old revision of the document!


Xfce - Google Summer of Code 2024


Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly.

Google Summer of Code (GSoC) is a global program focused on bringing more developers into open source software development. Participants work with an open-source organization on a 90/175/350-hour programming project during the summer.

If you are a developer who would like to get involved with the Xfce project, please see Xfce Development Information for additional resources.

Note: Due to bot protection you need to request permission on the #xfce-dev Matrix channel to be able to fork Xfce proejcts and to open merge requests.


Communication

Participants should idle in Matrix in order to stay connected with mentors, other GSoC participants and Xfce developers:


Project Ideas

Feel free to package a number of issues to a GSoC project, for which you think, you can solve them in the given timeframe (90h / 175h / 350h, 8 till 22 weeks). Note that the issues you pick don't need to share the same mentor or be entirely from one project (some projects are pretty small and simple to understand).

Note: Fixing some smaller issues already now (E.g. to show your programming skills) as well would be very welcome.

Here are some suggestions to pick from, where mentors already confirmed to support them as part of a GSoC project. You can as well check our gitlab issue tracker for other thunar related issues, though please make sure that there is a mentor supporting your choice!

thunar

Thunar is Xfce's file manager and one of its core components. There are many new features pending to be implemented and bugs that need fixing, some of which are listed below:

    • [Difficulty: medium] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
    • [Estimate time: 60h]
    • Unlike UNIX systems, Windows and macOS systems do not allow files that differ only by case.
    • Figure out how to check filesystem case-insensitivity (Related commit)
    • Implement a renaming scheme to fit case-sensitive names to case-insensitive filesystems.
    • Additional task: Warn user about case-insensitive systems
      • [Difficulty: medium] [Required Skills: C, Gtk]
      • [Estimated time: 20h]
      • Open an Issue first to work with this problem.
      • Dialog like “Overwrite 'Gtk' with 'GTK'” would confuse users without knowledge about filesystems.
      • Check if the filesystem is case-insensitive and/or the overwriten file only differs by case.
      • Figure out a way to inform the user about the problem without explaining too many technical details.
    • [Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
    • [Estimate time: 80h]
    • Several thunar plugins, like rabbit-vcs, the thunar-vcs-plugin and thunar-dropbox would profit from the possibility to set emblems on files. Though currently, plugins are not able to do so.
    • Nautilus already seems to provide such a service. Most likely the nautilus code can be used as inspiration.
    • It would be required to extend the thunarx API (API used by thunar plugin) in order to support custom emblems.
    • [Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
    • [Estimate time: 100h]
    • A new view in order to maximize the space taken by thumbnails, not showing the file names anymore
    • Most likely would require work on the exo-icon-view.
    • There is already an open merge request from last GSoC, which can be rebased. (Not the full feature, though a good starting point)
    • [Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
    • [Estimate time: 175h]
    • So that all applications which want to pick a file will see the thunar dialog, instead of the foreign GtkFileChooserDialog
    • Possible required to implement a service xdg-desktop-portal-xfce, according to xdg-desktop-portal-gtk (to be checked)
    • Creation of the related DBUS Service in thunar
    • Dialog to pick specific file(s) and hit “done”/“abort” using the current thunar widgets.

all components

  • Integration of Xfce Keyboard Shortcuts Widget into all Xfce Applications
    • [Difficulty: medium] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
    • [Estimate time: 10-90h (Depends on the number of ported apps)]
    • Currently only available for thunar, xfce4-terminal and mousepad(via plugin)
    • To be integrated as well into all other xfce applications which use keyboard shortcuts (TODO: Provide a list)

Frequently Asked Questions

We do not force any specific format. Here is what you have to look for:

  • Make sure you follow the official basics
  • It can be beneficial to define an alternative target (In case some other participant as well picked your preferred target)
  • Make sure to define some stretch targets, in case you finish early

Where can I start ?

After you have read the Xfce Development Information, and specially the The Ultimate Contributor's Guide to Xfce, you can pick easy issues from the above list, or watch for issues which are labeled 'Newcomers':


GSoC Participants Blogs

  • to be added

Previous Years