Stop relying on GNOME fallback code for Unity

Registered by Jason Warner

GNOME is talking about dropping its fallback session, we use some of those components in Unity and we will need to replace them or reimplement the corresponding features in unity

Blueprint information

Status:
Complete
Approver:
Didier Roche-Tolomelli
Priority:
High
Drafter:
Sebastien Bacher
Direction:
Needs approval
Assignee:
Sebastien Bacher
Definition:
Approved
Series goal:
Accepted for raring
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-13.04-beta-1
Started by
Sebastien Bacher
Completed by
Sebastien Bacher

Related branches

Sprints

Whiteboard

seb128 , 2013-03-11:
- dropping the keyboard indicator work, not going to happen this cycle
- dropping the nautilus-automount work, not going to happen either
- logind items are covered by https://blueprints.launchpad.net/ubuntu/+spec/foundations-1303-consolekit-logind-migration
------

List of things we use from GNOME fallback:
- bluetooth indicator: patch on top of bluetooth-applet, (going away in GNOME 3.8?)
- keyboard indicator: dropped in 3.6, need to be replaced (we might be able to still patch fallback code in 3.6?)
- ibus: our patch will need to be updated/rewritten for ibus 1.5
- gnome-settings-daemon/nautilus automounting: logic in gsd, ui in nautilus ... we can probably keep the g-s-d part, we will need to reimplement the ui if nautilus drops it ( https://bugzilla.gnome.org/682859 )
- nautilus drawing the desktop: this code will not be dropped but moved to a new component, we will try to help maintaining it when it happens
- background panel: unpatch the upstream one, ship a standalone unity version
- ck-integration: talk to the foundation team about the ck/logind story and see what we can do here
- a11y integration in unity (zoom, ...): on the roadmap but not likely for this cycle
- upower apis (suspend, hibernate, ...): we want to keep using the upowerd version of suspend/hibernate/....
- inhibit apis implemented in gnome-session
Others:
nm-connection-editor: still used in gnome-shell. Possibly an issue as upstream wants to move away, but the new code will probably land in g-c-c.

jbicha: I guess gnome-screensaver is deprecated now too. We should talk to GNOME to see what hacks they used to avoid the VT switch for the new GDM 3.6 powered lock screen (bug 878836)

mterry: Some notes on how the keyboard indicator work affects unity-greeter:
- Unity Greeter creates its indicator menu itself, instead of launching the GNOME one.
- Unity Greeter always goes through lightdm to query and set the layout, filling its menu from what lightdm tells it.
- Lightdm uses libxklavier to interact with layout information.
- IBus is not used directly (though I suppose it's used via GTK+ in the greeter)
So:
- If the indicator design changes, we have to ape its changes in the greeter.
- If a new indicator is created and it is suitable, we could use it instead of the greeter's custom one.
- I don't believe we'll need to change any lightdm/libxklavier code for the new indicator.
- Thus... No changes necessary unless we change the UI spec for the greeter's indicator

(?)

Work Items

Work items:
[robert-ancell] transform the bluetooth-applet indicator to a proper indicator: DONE
[mpt] Finish design for the keyboard layout+IME menu <https://wiki.ubuntu.com/TextEntry>: DONE
[cyphermox] look at porting keyboard layout and ibus to be proper indicators: POSTPONED
[mterry] check how keyboard indicator work affects unity-greeter: DONE
[seb128] check how nautilus is used for automounting and what we need to maybe replace: POSTPONED
[pitti] help with the automounting port: POSTPONED
[pitti] set up testing for the automounting code: POSTPONED
[seb128] talk to the foundation team about consolekit vs logind: DONE
[mterry] use separate background panels for GNOME and Unity: DONE
[seb128] check how much work we will get once GNOME drops support for non systemd inhibit/... apis: DONE