Switch to Xfce as the base

Registered by Allen Lowe on 2011-04-21

investigate switching to the xfce settings daemons and settings tools etc. for pantheon instead of the gnome stuff. It is far lighter, and far more FD.o compliant. We are eventually going to replace those pieces anyway, xfce might be a better place to start.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Medium
Drafter:
Allen Lowe
Direction:
Needs approval
Assignee:
Allen Lowe
Definition:
Drafting
Series goal:
None
Implementation:
Not started
Milestone target:
None

Related branches

Sprints

Whiteboard

Advantages to using XFCE over Gnome:
    - xfce is more modular, making it easier to swap out necessary components one at a time.
    - xfce is more FD.o compliant, as are we
    - xfce is lighter and faster, like us
    - xfce programs are much simpler, with easier to understand code, making modifications/replacements easier
    - *OPINION* the xfce community is likely to be easier to work with, and more embracing to us and our work

Disadvantages to using XFCE over Gnome:
    - several of the tools are uglier or harder to use
    - font themeing is slightly more complicated
    - compiz isn't integrated quite as well
    - I don't know xfce nearly as well as I know gnome
    - we may run into an unforeseen missing feature in the future

I need to investigate the following things:
- does it use GDM or something else? there is no Xfce-specific display manager, though many distributions use Xfce with GDM. the latest GDM is problematic because it hardcodes the session and some GNOME libraries. Ubuntu Oneiric will use LightDM instead.
- what daemons pantheon-session needs to start
    * - /usr/lib/xfce4/xfconf/xfconfd org.xfce.Xfconf
    - xfsettingsd --force
    - xfce4-power-manager org.xfce.PowerManager
    - xfce4-settings-helper org.xfce.SettingsHelper
    - xfce4-volumed *
    - if those daemons return right away, or can be watchdogged
- app indicators *yup*
  * battery indicator needs bug 694864 and bug 694851 applied
- bluetooth *not sure yet...*
- keyring *uses gnome's*
- clipboard handling? xfce4-clipman-plugin makes sure clipboard is saved between apps and reboots
- xfce-screenshooter for PrintScreen makes screenshot of screen, window or selected area
- VNC *should be handled by Remmina which has an XFCE plugin*
- iBus - this is DE-independent anyway, it just works
- font settings *they seem VERY limited* default font, window caption
- compiz *compiz supports only gconf and KConfig; XFCE has no GUIs to switch it on/off* Xfce has built-in compositing
- display settings *seems limited, I cannot use dual monitors properly...*
- keybindings *works well*
- trackpad settings (two finger scroll) no setting for it - could also be default in the driver or startup script
- sound settings (pulse) *alsa style mixer with arbitrary meters (but pulse and oss support)*
- users and groups *uses gnome dialog*
- time and date (ntp) *uses gnome dialog*
- proxy settings? *nope*
- screensaver? we should use gnome-screensaver so that screen locking works...

- the biggest things I need to figure out are:
    - can the xfce display settings actually do all the things we need?
    - can we set different font sizes for different things?
    - can we use the slick new pulse settings? *can probably use gnome-volume-control, yes*
    - can we easily enable two finger scroll? disable tap-to-click? - simply call synclient

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.