Xfce - Google Summer of Code 2024
Sadly Xfce was not accepted for GSoC 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:
-
-
More information about communication channels can be found
here.
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 issues from the pojects listed below, 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. See this wiki page for detailed instructions on how to build and run thunar.
-
[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.
-
[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
[Estimate time: 175h]
A new view in order to maximize the space taken by thumbnails, not showing the file names anymore
Most likely would require to introduce a new base-view, similar to
exo-icon-view. That view could be added directly into the thunar codebase.
There is already an
open merge request from last GSoC, which implements the feature partly using exo-icon-view as a base … though as such has the limitations of exo-icon-view. Nevertheless, it can be used as inspiration, and to figure out where the relevant code is located.
-
[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
[Estimate time: 175h]
Check how other file managers (dolphin?) handle custom actions / which formats are used. Possibly we can follow some standard.
That would allow distros to provide preinstalled uca's in a simple way. Related:
!111 (Having *.desktop files would supersede that MR)
-
Support for reading uca.xml should be kept (For at least one thunar version) to keep backward compatibility.
-
[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
[Estimate time: 90h]
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: medium] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
[Estimate time: 50h] (can be part of a 90/175/350h project)
Currently, only the derivation from the default loading order is used to arrange toolbar buttons. This can lead to bugs
In the future, either the name+subfolder of each toolbar-button (and UCA) should be used for indexing (or the path to some *.desktop file after
#179)
-
[Difficulty: medium] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]
[Estimate time: 90h] (can be part of a 90/175/350h project)
Implementation as Thunar Plugin, based on existing work (see issue)
Dialog to enter credentials
Right click menu actions for management
Possibly emblems to show sync-status if required
all components
Frequently Asked Questions
We do not force any specific format. Here is what you have to look for:
-
Draft some timeline to show in detail when you will have time to work on which exact part of your project.
In case multiple participants will be picked, it can be beneficial to define an alternative targets to prevent overlap.
Make sure to define some stretch targets, in case you finish your main target early
Where can I start ?
GSoC Participants Blogs
Previous Years