Launchpad Entry: other-lubuntu-o-clean
Contributors: gilir, jmarsden
Packages affected: lxde, lubuntu-meta
The goal of this specification is to list all the different ways to optimize and clean Lubuntu for 11.10 (Oneiric)
We expect to improve the user experience, by lowering the requirements for Lubuntu :
- Reduce the memory usage by default
- Remove non-essential programs to gain space at installation
- Reduce memory used during installation (may need alternate/text mode installer by default)
We also want to improve the code :
Migrate to recent technology (GTK3, gsettings, GtkBuilder ...)
- Code clean up when it's possible
The last two Lubuntu releases (10.10 and 11.04) were focused on adding missing features. It's now time to look at the improvements we can make in other ways.
GNOME3 / GTK3 migration is necessary for Oneiric cycle. This is a good opportunity for doing more code improvement.
Also, making some improvements gives us the possibility of adding more features, without the need to increase the minimum hardware requirements of Lubuntu.
Fred has an old PIII 800Mhz desktop with 256MB RAM and a 40GB hard drive. He would like to be able to install and then use Lubuntu easily on this machine. Currently the (ubiquity-based) default install process needs more RAM than this machine has available, so Fred needs to use a complex minimal install and then add the Lubuntu desktop package set to it.
- People will continue to want to install and run Lubuntu on low spec older PCs.
- Use of an 'alternate' install image (CD) to install from is not beginner-friendly.
- With current small Lubuntu developer community, making our priorities for Oneiric be "GTK3 plus becoming fully official plus optimization and cleanup" is probably plenty of work; we should therefore avoid adding too much else to the development workload for this release.
You can have subsections that better describe specific parts of the issue.
There are several ideas / tasks, which could be done :
GTK3 migration to avoid having GTK2 and GTK3 at the same time
Packages Status : https://wiki.ubuntu.com/Lubuntu/Developers/GTK3Migration
- Need a theme compatible (murrine should be converted by Ubuntu)
gconf to gsettings migration
Migrate from gconf to gsettings
Remove old GNOME libraries
Remove old GNOME library : libglade, gnome-desktop etc ...
Clean compiler warnings
Replace update-notifier by upstart scripts (see blueprint https://blueprints.launchpad.net/ubuntu/+spec/packageselection-foundations-n-update-notifier-refactor)
documentation : http://upstart.ubuntu.com/cookbook/
Replace screensaver by upstart scripts ?
Another option, rewrite it from scratch, or follow Ubuntu move (see https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-screensaver). Some ideas of the needed features of a locker / screensaver :
- (option) black screen after a timer
- (option) adjust the timer
- (option) lock after timer
- (option) lock on suspend
- deactivate notification on lock
- shortcut for lock (by openbox + slock)
- (nice to have) D-Bus API
- (nice to have) mechanism of inhibitation
- (nice to have) API of gnome-screensaver as fallback (see xdg-screensaver)
- (plugins) complex visualization
Remove xchat ?
Remove xchat ? (already handle by pidgin)
Hack on lxsession to customize autostarted programs. Current ideas :
- Ability to customize differents applications started on session start
- Panel / dock
- power-manager (possibility to disable it for desktop computer)
- Network GUI (nm-applet)
- window manager (rewrite existing function)
- notifications ?
- ubuntu one ?
- file manager ?
- Polkit agent
- Ability to set program as default handler (call by others programs, ideally publish on D-Bus)
- Sound manager
- Keymap manager
- Quit manager
- Workspace manager
- Launcher manager
- Ability to set to "Auto" to let lxsession handle it itself
- Option to add custom commands
- Option to load third party programs
- Option to install missing components with packagekit
- Ability to detect duplicate programs with autostarted applications (don't start the panel twice)
- Benchmarks between 11.04 and 11.10