Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gsoc:2008:ideas [2008/04/03 00:39]
66.87.71.102
gsoc:2008:ideas [2010/10/02 17:26] (current)
Line 1: Line 1:
 ====== Google Summer of Code 2008 Ideas ====== ====== Google Summer of Code 2008 Ideas ======
  
-**Note**: So, we didn't get accepted for 2008.  That's a shame, but we did generate some great ideas below. ​ I'll leave this page up for now, but it would probably be a good idea to copy/move any non-duplicate ideas to the [[wish_list|wish list]], or possibly file bugs/​feature requests in [[http://​bugzilla.xfce.org/​|Bugzilla]] for some of them.+**Note**: So, we didn't get accepted for 2008.  That's a shame, but we did generate some great ideas below. ​ I'll leave this page up for now, but it would probably be a good idea to copy/move any non-duplicate ideas to the [[:wish_list|wish list]], or possibly file bugs/​feature requests in [[http://​bugzilla.xfce.org/​|Bugzilla]] for some of them. 
 + 
 +**Note**: I've locked the page down to stop it from being flooded with "​feature requests"​ that should really be filed in the bugtracker or discussed on the mailinglist. ​ --- //​[[sofar@foo-projects.org|Auke Kok]] 2008/04/25 17:17//
  
 This is a place to list possible project ideas for [[http://​code.google.com/​soc/​2008|GSoC 2008]]. ​ I'm in the process of applying (as of 10 Mar), and I'm not sure if we'll get accepted, but let's get the ball rolling and list some things that need improvement in Xfce that might be suitable for a project. This is a place to list possible project ideas for [[http://​code.google.com/​soc/​2008|GSoC 2008]]. ​ I'm in the process of applying (as of 10 Mar), and I'm not sure if we'll get accepted, but let's get the ball rolling and list some things that need improvement in Xfce that might be suitable for a project.
Line 7: Line 9:
 The below list is just a breeding ground for ideas; it is up to potential student participants to submit and application with a project idea, whether from this list or of their own choosing. The below list is just a breeding ground for ideas; it is up to potential student participants to submit and application with a project idea, whether from this list or of their own choosing.
  
-**Students!** ​ If you'd like to participate,​ please add your name to [[gsoc-2008-students|the interested students list]] and note what kind of project you're interested in.  Also have a look at [[gsoc-2008-guidelines|our application guidelines]]. ​ If you're not sure about a project, still feel free to add your name and get in touch with us.  The [[http://​foo-projects.org/​mailman/​listinfo/​xfce4-dev|Xfce development list]] would be the best place to start.+**Students!** ​ If you'd like to participate,​ please add your name to [[students|the interested students list]] and note what kind of project you're interested in.  Also have a look at [[guidelines|our application guidelines]]. ​ If you're not sure about a project, still feel free to add your name and get in touch with us.  The [[http://​foo-projects.org/​mailman/​listinfo/​xfce4-dev|Xfce development list]] would be the best place to start.
  
-We also have a confirmed [[gsoc-2008-mentors|mentor list]], which is frozen as of 10 March.+We also have a confirmed [[mentors|mentor list]], which is frozen as of 10 March.
  
 ==== Guidelines ==== ==== Guidelines ====
Line 16: Line 18:
   - Think about the scope of the work.  Students will have about 3.5 months to complete their projects.   - Think about the scope of the work.  Students will have about 3.5 months to complete their projects.
   - Try to limit projects to one area or module. ​ Learning more than one code base might be too time-consuming given the time constraints.   - Try to limit projects to one area or module. ​ Learning more than one code base might be too time-consuming given the time constraints.
 +
 +
 +
 +
 +
 +
 +
  
  
Line 23: Line 32:
  
 ==== Project Ideas ==== ==== Project Ideas ====
 +
 +=== Implement Ruby Language support such as Python has now===
 +  * Write full Ruby language support
 +  * Make Ruby/GTK+ apps modular and integratable into the Xfce environment
 +  * Create support libraries and interfaces to existing Xfce modules.
 +
 === Xorg hotness === === Xorg hotness ===
   * Write a library and GUI for configuring monitors for XRandR 1.2. This should be designed so that code can be shared with an MCS plugin and xfconf.   * Write a library and GUI for configuring monitors for XRandR 1.2. This should be designed so that code can be shared with an MCS plugin and xfconf.
 +  * Along with the above, add support for HDTV monitors and HDTV monitor resolutions (my Syntax Olevia LT27HV 27" is 1280x720 dpi and was a NIGHTMARE to configure on xubuntu, for example). Full 720p and 1080p support would be awesome.
   * Write a configurator for input-hotplug   * Write a configurator for input-hotplug
   * Make xfwm4 multi-pointer aware with MPX (This may be difficult)   * Make xfwm4 multi-pointer aware with MPX (This may be difficult)
Line 40: Line 56:
   * Implement a new settings dialog (I have some design ideas already) and have it use xfconf to store settings.   * Implement a new settings dialog (I have some design ideas already) and have it use xfconf to store settings.
   * Rework how icon view drag-and-drop is handled internally to be more encapsulated and less hacky.   * Rework how icon view drag-and-drop is handled internally to be more encapsulated and less hacky.
 +  * Implement a way for a user directory to be added for the backdrops, in addition to the randomized list option.
 +  * Implement a backdrop slideshow module.
 +  * Add Drag and Drop from AppFinder to desktop menu/Edit Menu Utility. Add Drag and Drop from a Panel Launcher to the menu.
  
 === xfwm4 === === xfwm4 ===
Line 46: Line 65:
   * More compositor options like a fades and shadow color   * More compositor options like a fades and shadow color
   * extend the window menu to directly interface with a "​kill"​ and "​killall"​ options (SHOULD) be an disabled additional option disabled by default, and require password authentication for the "​killall"/"​pkill"​ option   * extend the window menu to directly interface with a "​kill"​ and "​killall"​ options (SHOULD) be an disabled additional option disabled by default, and require password authentication for the "​killall"/"​pkill"​ option
 +  * Implement a "copy contents to new window"​ module.
  
 === Thunar === === Thunar ===
   * Integrate [[http://​www.scheinwelt.at/​~norbertf/​devel/​fusi/​|libfusi]] into Thunar so it can support sshfs, fusesmb, etc. natively.   * Integrate [[http://​www.scheinwelt.at/​~norbertf/​devel/​fusi/​|libfusi]] into Thunar so it can support sshfs, fusesmb, etc. natively.
   * Allow plugins to add to/​modify/​replace the folder view pane to be able to implement previews that don't make sense in Thunar core.   * Allow plugins to add to/​modify/​replace the folder view pane to be able to implement previews that don't make sense in Thunar core.
 +  * Add an auto Custom Action wizard/​configurator that you can specify with Drag and Drop if there'​s a .desktop file for it and it shows up in the Xfce Appfinder.
 +  * Add an auto Send To wizard/​configurator that just lets you Drag and Drop a .desktop file from the /​usr/​share/​applications directory or Appfinder, or have AppFinder lookup service.
   * Shortcuts/​treeview pane extensibility?​   * Shortcuts/​treeview pane extensibility?​
   * git plugin (similar to current svn plugin)   * git plugin (similar to current svn plugin)
 +  * bazaar plugin (similar to svn plugin)
 +  * Mercurial plugin (similar to svn plugin)
 +  * CVS plugin (similar to svn plugin)
 +  * Add any other Content Management Plugins...
   * Handle the desktop icons to avoid the duplication of code with xfdesktop   * Handle the desktop icons to avoid the duplication of code with xfdesktop
   * Add sub-menu to the custom actions   * Add sub-menu to the custom actions
 +  * Add Miller Colums Browser view widget
 +  * Add Toolbar button widget for changing views between "​bookmarks/​tree/"​shelf"​(like NeXTSTEP) (food for thought)"​ for the Side Pane (and make it relocatable to a toolbar like mode; and between "​icon/​details/​compact list/"​Miller Columns"​(feature request) views.
 +  * arbitrary data-base plugin for fast researchs (something like in iTunes but for every kind of file)
 +  * management of iPods/​iPod-like MP3-players by drag&​drop
  
 === exo === === exo ===
Line 61: Line 91:
   * Stabilize libburn and libisofs integration and add DVD support   * Stabilize libburn and libisofs integration and add DVD support
   * Implement audio CD support, with the ability to decompress and write various audio file formats on the fly.   * Implement audio CD support, with the ability to decompress and write various audio file formats on the fly.
 +  * Make xfburn as capable as "​brasero"​
 +  * Implement a "​backup system to DVD on the fly" module.
 +  * Check out Rubyripper for ideas on a secure ripper and implement in C or Python, or just add Ruby support to Xfce and make Rubyripper the default Audio Ripping application.
 +
  
 === xfce4-session === === xfce4-session ===
   * Allow the session manager to launch session-managed apps in parallel, and wait for their responses asynchronously.   * Allow the session manager to launch session-managed apps in parallel, and wait for their responses asynchronously.
   * Offer a D-Bus service for closing the session (log out, shut down, reboot, sleep, hibernate), and implement a way to tell the session manager to save the session on-demand without needing to quit Xfce (include this in the D-Bus service as well).   * Offer a D-Bus service for closing the session (log out, shut down, reboot, sleep, hibernate), and implement a way to tell the session manager to save the session on-demand without needing to quit Xfce (include this in the D-Bus service as well).
 +  * Add the option to require an admin and/or the root password authentication to: log out, lock the screen, restart, or shutdown. These should be OPTIONAL and DISABLED by default. It's really just something I want, because I accidently quit Xfce by mistake too often (it's too easy to kill the X server, etc.) Just an added security layer for those of us new to GNU/​Linux/​BSD bozos. ​
  
 === xfce4-panel === === xfce4-panel ===
Line 72: Line 107:
   * Add a window organizer à la Mac (expose)   * Add a window organizer à la Mac (expose)
   * Add live preview to the alt-tab feature   * Add live preview to the alt-tab feature
 +  * Implement Drag and Drop support (i.e. copy from xfce appfinder to a panel launcher)
 +  * Implement a pop-out subpanel option (in addition to the "​submenu"​ option for launchers, a la CubeDock or the NeXTSTEP dock extender utility
 +  * Add support for making the panel use modular tiles like NeXTSTEP
 +  * Add support for "​container size" or "cell padding"​ for panel. i.e. be able to specify each launcher icon or plugin take up a 24x24px, 32x32px, 48x48px, or 64x64px area.
 +  * Add better support for those of us who like to use vertical panels on the side of the workspace to dock launchers and plugins and have them orient themselves correctly. Currently this does not happen and it is a MAJOR flaw.
 +  *Add the ability to password lock individual panels from modification. I've deleted the WRONG PANEL way too may times for it to be funny anymore. Make an optional "are you sure" nag panel dialog for deleting for us Noobs.
  
 === xfvnc === === xfvnc ===
Line 81: Line 122:
   * Add exclude rule handling into libical (and then to Orage also)   * Add exclude rule handling into libical (and then to Orage also)
   * Build conversion script between os timezones and libical timezones. And if possible syncronize os timezones to libical so that Orage could utilize os timezones, which are far better upto date than libical.   * Build conversion script between os timezones and libical timezones. And if possible syncronize os timezones to libical so that Orage could utilize os timezones, which are far better upto date than libical.
 +  * Create a more modular plugin for the panel
  
 === xfce-power-manager === === xfce-power-manager ===
Line 89: Line 131:
     - Handle CPU frequency setting (support Linux cpufreq governors; what about other OSes?)     - Handle CPU frequency setting (support Linux cpufreq governors; what about other OSes?)
     - For laptops, handle backlight brightness. ​ Overall, handle DPMS, monitor standby/​sleep/​etc.     - For laptops, handle backlight brightness. ​ Overall, handle DPMS, monitor standby/​sleep/​etc.
- 
  
 === airconfig === === airconfig ===
Line 105: Line 146:
 === xfmedia === === xfmedia ===
   * implement gstreamer in xfmedia so we can drop xine.   * implement gstreamer in xfmedia so we can drop xine.
 +  * afterall, should be better as a vlc interface...
 +  * Add engine support so MPlayer'​s MEncoder and ffmpeg can be used
   * implement a library ​   * implement a library ​
   * rewrite from scratch most likely to be able to implement the first 2 :)   * rewrite from scratch most likely to be able to implement the first 2 :)
   * can show subtitles (sub,​srt,​...)   * can show subtitles (sub,​srt,​...)
 +  ​
 === settings manager === === settings manager ===
   * Rewrite the settings manager and plugins to support the latest X features, like randr and multiple input devices. A bit of a start has been made [[http://​svn.xfce.org/​svn/​xfce/​xfce-mcs-plugins/​branches/​multi_device//​|here]].  ​   * Rewrite the settings manager and plugins to support the latest X features, like randr and multiple input devices. A bit of a start has been made [[http://​svn.xfce.org/​svn/​xfce/​xfce-mcs-plugins/​branches/​multi_device//​|here]].  ​
   * Add a "​settings backup"​ utility to migrate settings to a new user or archive your settings to make a backup in case you must reinstall your os, etc.   * Add a "​settings backup"​ utility to migrate settings to a new user or archive your settings to make a backup in case you must reinstall your os, etc.
 +  * Implement modules for a more fully featured configuration manager (such as the one in Wolvix Hunter 1.1.0 www.wolvix.org)
 +
 +=== Screensaver Module === 
 +  * Using AIGLX instead of XGL causes bootsplash modules such as "​Mice"​ to go from a mouse on a field of blinking blue to a Mouse in a box of blue surrounded by ugly gray nothingness and no nice throbbing. (maybe this entry should be under Xorg Hotness...
 +  * Write a module to use .scr screensavers from the windows world (if that isn't too insecure)
 +  ​
 +=== Themability ===
 +  * Create a facility to save entire desktop setups into a single archive like WinStep/​NextSTART. A great feature for the GUI customizer. See www.winstep.net
 +  * Add any of the features from WinStep to Xfce. That's the only thing this "​Switcher"​ misses from Windows.
 +
 +=== Xfmpc / MPD ===
 +  * Improve Xfmpc to be feature rival to Sonata.
 +  * Create Settings Module to generate a valid mpd.conf file with your machine'​s setup.
 +  * Integrate MPD/Xfmpc support into Xfce.
 +  * Create a software equalizer module to sit between MPD (Music Player Daemon) and Xfmpc (that would be a first for the MPD/MPC world!!!
 +
 +=== Squeeze ===
 +  * Better support for Squeeze in Xfce.
 +  * An Archive via Squeeze plugin for Thunar (replacing File Roller and Xarchiver)
 +
 +=== Ristretto ===
 +  * Release 0.18 is much better, much much better, but it could be extensible via plugins so we could do away with GQView, F-Spot, etc
 +
 +=== Notes Panel Plugin vs. NoteCase ===
 +   * It's great, but NoteCase is a better solution. I would love to see NoteCase become the default notetaking/​outliner for the Xfce Desktop Environment (http://​notecase.sourceforge.net/​)
 +
 +=== Firefox 3 support vs. Midori ===
 +  * Now that it has native GTK+ widget support should this become the official browser of Xfce, or should it be Midori (http://​software.twotoasts.de/?​page=midori) with GTKWebKit (it IS lightweight,​ but it has issues)
 +
 +=== Catfish ===
 +  *Should catfish become the official Xfce search tool? (http://​software.twotoasts.de/?​page=catfish) 0.3 is good, but it could be better, and integrated via a plugin into Thunar.
 +
 +