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
projects:gsoc:start [2024/01/24 15:09] – Updates for GSoC 2024 alexxconsprojects:gsoc:start [2024/02/20 22:16] (current) – [Xfce - Google Summer of Code 2024] alexxcons
Line 1: Line 1:
 ~~NOTOC~~ ~~NOTOC~~
 +
 ====== Xfce - Google Summer of Code 2024 ====== ====== Xfce - Google Summer of Code 2024 ======
  
Line 5: Line 6:
   * **[[#Project Ideas|Project Ideas]]**   * **[[#Project Ideas|Project Ideas]]**
     * **[[#thunar|thunar]]**     * **[[#thunar|thunar]]**
-    * **[[#xfce4-terminal|xfce4-terminal]]** 
-    * **[[#xfce4-screenshooter|xfce4-screenshooter]]** 
-    * **[[#xfce4-panel|xfce4-panel]]** 
     * **[[#all components|all components]]**     * **[[#all components|all components]]**
   * **[[#Frequently Asked Questions|Frequently Asked Questions]]**   * **[[#Frequently Asked Questions|Frequently Asked Questions]]**
   * **[[#GSoC Participants Blogs|GSoC Participants Blogs]]**   * **[[#GSoC Participants Blogs|GSoC Participants Blogs]]**
 +
 +----
 +
 +<note important>Sadly Xfce was not accepted for GSoC 2024.</note>
  
 ---- ----
Line 16: Line 18:
 [[https://www.xfce.org|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. [[https://www.xfce.org|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.
  
-[[https://summerofcode.withgoogle.com/|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-hour programming project during the summer.+[[https://summerofcode.withgoogle.com/|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 [[https://docs.xfce.org/contribute/dev/start|Xfce Development Information]] for additional resources. If you are a developer who would like to get involved with the Xfce project, please see [[https://docs.xfce.org/contribute/dev/start|Xfce Development Information]] for additional resources.
Line 33: Line 35:
  
 ---- ----
-[[|Back To Top]] 
- 
 ====== Project Ideas ====== ====== 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). 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).+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. 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 [[https://gitlab.xfce.org/|gitlab issue tracker]] for other thunar related issues, though please make sure that there is a mentor supporting your choice! +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 [[https://gitlab.xfce.org/|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 =====
  
-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:+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 [[https://wiki.xfce.org/thunar/dev/build_and_run|this wiki page]] for detailed instructions on how to build and run thunar.
  
-  * [[https://gitlab.xfce.org/xfce/thunar/-/issues/295|Use URI to identify bookmarks instead of md5 checksum]] +  * [[https://gitlab.xfce.org/xfce/thunar/-/issues/547|Offer Thunar specific file selection dialog via DBus Service "org.freedesktop.portal.FileChooser"]] 
-    * **[Difficulty: easy] [Required Skills: C, Glib] [Possible Mentors: Alexander Schwinn, Yongha Hwang]** +    * **[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]** 
-    * **[Estimate time: 15h (Could be part of a 175h/350h project)]** +    * **[Estimate time: 175h]** 
-    * To ease the editing of accels.scm +    * So that all applications which want to pick a file will see the thunar dialog, instead of the foreign GtkFileChooserDialog 
-    * The linked bug contains an old WIP patch.+    * Possible required to implement a service ''xdg-desktop-portal-xfce'', according to [[https://github.com/flatpak/xdg-desktop-portal-gtk/|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.
  
-  * [[https://gitlab.xfce.org/xfce/thunar/-/issues/86|Confusing overwrite dialog when copying a folder from case-sensitive to case-insensitive file-systems]] +  * [[https://gitlab.xfce.org/xfce/thunar/-/issues/693|New view "Pictures"]] 
-    * **[Difficulty: medium] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn, Yongha Hwang]** +    * **[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]** 
-    * **[Estimate time: 60h (Could be part of a 175h/350h project)]** +    * **[Estimate time: 175h]** 
-    * Unlike UNIX systemsWindows and macOS systems do not allow files that differ only by case. +    * A new view in order to maximize the space taken by thumbnails, not showing the file names anymore 
-    * Figure out how to check filesystem case-insensitivity ([[https://gitlab.xfce.org/xfce/thunar/-/commit/9f7aca2e7762d0343c743c16470a23c788868f58|Related commit]]) +    * Most likely would require to introduce a new base-view, similar to [[https://gitlab.xfce.org/xfce/exo/-/blob/master/exo/exo-icon-view.c|exo-icon-view]]. That view could be added directly into the thunar codebase. 
-    * Implement renaming scheme to fit case-sensitive names to case-insensitive filesystems+    * There is already an [[https://gitlab.xfce.org/xfce/thunar/-/merge_requests/303|open merge request from last GSoC]], which implements the feature partly using exo-icon-view as 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
-    Additional taskWarn user about case-insensitive systems + 
-      * **[Difficulty: medium] [Required Skills: C, Gtk]** +  [[https://gitlab.xfce.org/xfce/thunar/-/issues/179|Store each UCA in a separate *.desktop files instead of using a single uca.xml]] 
-      * **[Estimated time: 20h + dialog discussion (Could be part of a 175h/350h project)]** +    * **[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]** 
-      Open an Issue first to work with this problem+    * **[Estimate time: 175h]** 
-      Dialog like "Overwrite 'Gtk' with 'GTK'" would confuse users without knowledge about filesystems+    Check how other file managers (dolphin?) handle custom actions / which formats are used. Possibly we can follow some standard
-      Check if the filesystem is case-insensitive and/or the overwriten file only differs by case+    That would allow distros to provide preinstalled uca's in a simple wayRelated: [[https://gitlab.xfce.org/xfce/thunar/-/merge_requests/111|!111]] (Having *.desktop files would supersede that MR) 
-      Figure out a way to inform the user about the problem without explaining too many technical details.+    Precondition to [[https://gitlab.xfce.org/xfce/thunar/-/issues/1028|#1028]] 
 +    Support for reading uca.xml should be kept (For at least one thunar version) to keep backward compatibility.
  
   * [[https://gitlab.xfce.org/xfce/thunar/-/issues/500|Extend Thunarx API to be able to set emblems in thunar-plugins]]   * [[https://gitlab.xfce.org/xfce/thunar/-/issues/500|Extend Thunarx API to be able to set emblems in thunar-plugins]]
     * **[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]**     * **[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]**
-    * **[Estimate time: 80h (Could be part of a 175h/350h project)]**+    * **[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.     * 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.     * 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.     * It would be required to extend the thunarx API (API used by thunar plugin) in order to support custom emblems.
  
-  * [[https://gitlab.xfce.org/xfce/thunar/-/issues/693|New view "Pictures"]] +  * [[https://gitlab.xfce.org/xfce/thunar/-/issues/1028|Use different key-values to index Toolbar buttons]] 
-    * **[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]** +    * **[Difficulty: medium] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]** 
-    * **[Estimate time: 160h (Could be part of a 175h/350h project)]** +    * **[Estimate time: 50h]** (can be part of a 90/175/350h project) 
-    * A new view in order to maximize the space taken by thumbnailsnot showing the file names anymore +    * Currentlyonly the derivation from the default loading order is used to arrange toolbar buttons. This can lead to bugs 
-    * Most likely would require work on the [[https://gitlab.xfce.org/xfce/exo/-/blob/master/exo/exo-icon-view.c|exo-icon-view]].+    * 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 [[https://gitlab.xfce.org/xfce/thunar/-/issues/179|#179]])
  
-  * [[https://gitlab.xfce.org/xfce/thunar/-/issues/547|Offer Thunar specific file selection dialog via DBus Service "org.freedesktop.portal.FileChooser"]] 
-    * **[Difficulty: challenging] [Required Skills: C, Gtk] [Possible Mentors: Alexander Schwinn]** 
-    * **[Estimate time: 175h (Could as well be part of a 350h project)]** 
-    * 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 [[https://github.com/flatpak/xdg-desktop-portal-gtk/|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. 
  
----- +  * [[https://gitlab.xfce.org/xfce/thunar/-/issues/499|Thunar Plugin for Nextcloud Integration]] 
-[[|Back To Top]]+    * **[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 =====
  
 +  * 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)]** (can be part of a 90/175/350h project)
 +    * 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)
 +    * See [[https://gitlab.xfce.org/apps/mousepad/-/merge_requests/121|mousepad merge request]] and [[https://gitlab.xfce.org/apps/xfce4-terminal/-/merge_requests/32|xfce4-terminal merge request]] for reference
 +
 +----
 ===== Frequently Asked Questions ===== ===== Frequently Asked Questions =====
  
Line 100: Line 107:
 We do not force any specific format. Here is what you have to look for: We do not force any specific format. Here is what you have to look for:
   * Make sure you follow the [[https://google.github.io/gsocguides/student/writing-a-proposal|official basics]]   * Make sure you follow the [[https://google.github.io/gsocguides/student/writing-a-proposal|official basics]]
-  * It can be beneficial to define an alternative target (In case some other participant as well picked your preferred target) +  * Draft some timeline to show in detail when you will have time to work on which exact part of your project. 
-  * Make sure to define some stretch targets, in case you finish early+  * 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 ? === === Where can I start ? ===
Line 109: Line 117:
  
 ---- ----
- 
-[[|Back To Top]] 
- 
 ==== GSoC Participants Blogs ==== ==== GSoC Participants Blogs ====
  
   * to be added   * to be added
  
 +----
 ==== Previous Years ==== ==== Previous Years ====
  
Line 122: Line 128:
  
 ---- ----
 +
 [[|Back to Top]] [[|Back to Top]]