Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
projects:gsoc:start [2021/03/31 09:45] – [Improve Thunar] alexxcons | projects:gsoc:start [2024/02/17 15:39] – Added Project for Nextcloud integration alexxcons | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Xfce - Google Summer of Code 2021 ====== | + | ~~NOTOC~~ |
- | [[https:// | + | ====== |
- | [[https:// | + | * **[[# |
+ | * **[[# | ||
+ | * **[[# | ||
+ | * **[[#all components|all components]]** | ||
+ | * **[[# | ||
+ | * **[[#GSoC Participants Blogs|GSoC Participants Blogs]]** | ||
- | The Xfce project is looking for students to boost the project and possibly recruit new contributors and maintainers. | + | ---- |
- | If you are a developer who would like to get involved with the Xfce project, please see [[https://docs.xfce.org/ | + | [[https://www.xfce.org|Xfce]] |
- | ====== Communication ====== | + | [[https:// |
- | Students should idle in < | + | If you are a developer who would like to get involved |
- | | + | **Note**: Due to bot protection you need to request permission on the # |
- | * [[https:// | + | |
- | If you use a [[https:// | + | ---- |
- | Alternatively you can use [[https:// | + | ====== Communication ====== |
- | In order to coordinate projects, students should add their names to [[https:// | + | Participants should idle in Matrix in order to stay connected with mentors, other GSoC participants |
- | ====== Project Ideas ====== | + | |
- | + | * The [[https:// | |
- | * **[[#Create Sample/Skeleton plugins in all GOI supported languages|Create Sample/ | + | * More information about communication channels can be found [[https:// |
- | * **[[#Improve Thunar|Improve Thunar]]** | + | |
- | * **[[#Wayland Support|Wayland Support]]** | + | |
- | * **[[#Improve Accessibility|Improve Accessibility]]** | + | |
- | * **[[#Create StatusNotifierItem Skeleton | + | |
- | * **[[#Add Calendar Capabilities to Clock|Add Calendar Capabilities to Clock]]** | + | |
---- | ---- | ||
+ | ====== Project Ideas ====== | ||
- | ===== Create Sample/ | + | 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). |
- | As we already | + | Note: Fixing some smaller issues |
- | - A minimal skeleton which just creates | + | 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:// |
- | - Other sample plugin in which we use most of the available APIs. | + | |
- | that make it's easy for everyone to understand the basic working and development of xfce4 panel and thunar | + | ===== thunar |
- | * **[Language: | + | Thunar is Xfce's file manager |
- | * **Python:** Create Sample/ | + | |
- | * **JavaScript: | + | |
- | * **Vala:** Create Sample/ | + | |
- | **[Difficulty: | + | * [[https:// |
+ | * **[Difficulty: | ||
+ | * **[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 '' | ||
+ | | ||
+ | | ||
- | ---- | + | * [[https:// |
- | ===== Improve Thunar ===== | + | * **[Difficulty: |
+ | * **[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 [[https:// | ||
+ | * There is already an [[https:// | ||
- | 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: | + | * [[https:// |
+ | * **[Difficulty: | ||
+ | * **[Estimate time: 175h]** | ||
+ | * Check how other file managers (dolphin?) handle custom actions / which formats | ||
+ | * That would allow distros to provide preinstalled uca's in a simple way. Related: [[https:// | ||
+ | * Precondition to [[https:// | ||
+ | * Support for reading uca.xml should be kept (For at least one thunar version) to keep backward compatibility. | ||
- | * < | ||
- | * **[Difficulty: | ||
- | * Often when searching something in trash, the latest trashed items are of interest. | ||
- | * The mission here would be, to add another sorting category " | ||
- | * Check [[https:// | ||
- | * Most likely it will be required to bundle multiple [[https:// | ||
- | * < | ||
- | * **[Difficulty: | ||
- | * Currently setting a default application is a bit hidden in thunar. And if not set, the last used application always will be used as default, which is bad UX (see issue description). | ||
- | * The idea is, to automatically select an application as default for a specific mime-type on the first open, if no default application was defined so far for that mime type. | ||
- | * Additionally the "open with" context menu should get an additional entry labeled "set default application" | ||
- | * The application chooser should highlight the current default application in some way. | ||
- | * Note that most likely this issue alone will not be sufficient for a 175 hour Project, you will need to bundle multiple issues. | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * The location " | ||
- | * It would be nice to fix these flaws, and show the " | ||
- | * Note that most likely this issue alone will not be sufficient for a 175 hour Project, you will need to bundle multiple issues. | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * Currently zoom levels are the same for each directory. However since thunar 4.16.x, several settings, like view-type and sorting order can be saved per directory. As well for the zoom level that would make alot of sense. | ||
- | * The commits for the existing " | ||
- | * In addition it could be interesting to select in detail which settings should be shown "per directory" | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * Currently the only thunar custom action which is provided by thunar is "open terminal here". (Xubuntu adds some more). To add additional custom actions from [[https:// | ||
- | * Like that we would have the possibility to provide translations for all of these UCA's | ||
- | * We would need the possibility enable/ | ||
- | * One job here would be to modify the UCA-management dialog in order to show disabled UCA's grayed out. A checkbox inside UCA config dialog could be used to enable/ | ||
- | * In a second step, default UCA's could be added from the [[https:// | ||
- | * Code in Xfdesktop, the desktop manager, would also need to be modified to handle disabled UCA's. | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * In the past we had alot of bugs related to tree-view (sidepane) letting CPU run at 100%. The reason is, that building the file-tree is a complex procedure which has alot of corner cases, embedded in an recursive call. Errors | ||
- | * It looks like for now we found all problematic corner cases, though in order to make the related code more failsafe for further changes, it still would be nice to have a rate-limiting mechanism, using '' | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * Currently there is only a single file which stores all the user-specific custom actions | ||
- | * It would be much more " | ||
- | * The user would need to be able to overwrite and disable system-defined UCA's. (See as well [[https:// | ||
- | * Optionally the project could be extended by changing the format from " | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * There is a couple of open issues related to file search. According to your skill-level we could make a GSoC project out of multiple of these bugs. | ||
- | * E.g. the possibility to access a file-search tool, like catfish via toolbar (Possibly by using a DBus call?) | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * Currently on restart only the latest used path is restored. | ||
- | * Like web browsers, thunar could restore all pathes from the last session instead. | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * There are a number of issues filed on the thunar bulk renamer which could be packed as a GSoC project dependent on your skill-level | ||
- | * E.g. it is needed to properly highlight renaming conflicts, and several smaller enhancements | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * The execute flag currently is used to mark a launcher as " | ||
- | * The idea is to use a " | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * Like for Mac, it would be nice to have the possibility to set custom colors for file and folder names. | ||
- | * The chosen color could be saved as gvfs-metadata value, like done for e.g. emblems. | ||
- | * The property dialog of files/ | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * Currently in thunar it is possible to specify custom keyboard shortcuts via the accels.xml file. That is not user-friendly. | ||
- | * Instead, it would be nice to have a dialog which provides an overview on all thunar shortcuts and the possibility to change them. | ||
- | * That dialog should be implemented in libxfce4ui in a way that allows other xfce components to reuse it. | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * The freedesktop thumbnail spec described how to store and retreive thumbnails. Thunar impements only part of the spec. The " | ||
- | * To implement the spec fully, the following things needs to be changed: | ||
- | * Thunar needs to check .sh_thumbnails and display thumbnails there before requesting new thumbanils to be created by tumbler | ||
- | * Tumbler needs only to create tumbnails if they are not already in .sh_thumbnails | ||
- | * For remote drives, thumbnails should also be displayed if they are in .sh_thumbnails, | ||
- | * [[https:// | ||
- | * **[Difficulty: | ||
- | * While it would be good to know how many files are inside a folder, that can be very resource-consuming, | ||
- | * The linked bug contains an old WIP patch, which already worked for local files. | ||
- | * The mission would be, to port that patch to thunar master and make it usable for remote location / figure out how to best do so. | ||
- | * If that is not challenging enough for you, there is an [[https:// | ||
* [[https:// | * [[https:// | ||
* **[Difficulty: | * **[Difficulty: | ||
- | * 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. | ||
- | * Move resources which can be shared between thunar and xfdesktop into libxfce4util/ | ||
- | * **[Difficulty: | ||
- | * Both components need to do file operations, mounting and provide context menus. The related code currently is duplicated. | ||
- | * The idea is to move that code and it's dependencies to a shared library in order to reduce duplication, | ||
- | * There is no issue yet for that project ...feel free to open one | ||
- | ---- | + | * [[https:// |
- | ===== Wayland Support ===== | + | * **[Difficulty: |
+ | * **[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 [[https:// | ||
- | The X11 windowing system is currently in maintenance mode, as it is an aging system, and the Linux desktop ecosystem is transitioning to the Wayland display server protocol. In order to speedup the transition of Xfce's components to Wayland, they need to be tested and bugs need to be filed and fixed. [[https:// | ||
- | ---- | + | * [[https:// |
+ | * **[Difficulty: | ||
+ | * **[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 | ||
- | ===== Improve Accessibility | + | ===== all components |
- | Investigate | + | * Integration of Xfce Keyboard Shortcuts Widget into all Xfce Applications |
+ | * **[Difficulty: | ||
+ | * **[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 | ||
+ | * To be integrated as well into all other xfce applications which use keyboard shortcuts (TODO: Provide a list) | ||
+ | * See [[https:// | ||
---- | ---- | ||
+ | ===== Frequently Asked Questions ===== | ||
- | ===== Create StatusNotifierItem Skeleton / example ===== | + | === What is the recommended format for the GSoC proposal ? === |
+ | We do not force any specific format. Here is what you have to look for: | ||
+ | * Make sure you follow the [[https:// | ||
+ | * 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 | ||
- | We already provide a way to show [[https://www.freedesktop.org/wiki/Specifications/ | + | === Where can I start ? === |
+ | After you have read the [[https://docs.xfce.org/contribute/dev/start|Xfce Development Information]], and specially the [[https:// | ||
+ | |||
+ | * [[https:// | ||
---- | ---- | ||
+ | ==== GSoC Participants Blogs ==== | ||
- | ===== Add Calendar Capabilities | + | * to be added |
- | The Gtk2-based [[https:// | + | ---- |
- | **[Required Skills: C, Gtk, Glib]** | + | ==== Previous Years ==== |
+ | |||
+ | * [[projects: | ||
+ | * [[projects:GSoC_2022: | ||
---- | ---- | ||
- | [[|Back to Top]] | ||
- | [[https:// | + | [[|Back to Top]] |