Indicator Backend

Registered by Thomas Strehl on 2013-02-25

Backend to handle indicators and providing and API towards Unity shell developers to implement the indicator visuals.

Blueprint information

Not started
Thomas Strehl
Needs approval
Ted Gould
Series goal:
Accepted for saucy
Milestone target:

Related branches



User-tangible for March: (all of the indicator work depends on the new shell)
* update of indicator-session that is compatible with the new shell, drops GTK+ dependencies, and increases code coverage from 0% to 95% in the test suite
* update of indicator-sound that is compatible with the new shell and drops GTK+ dependencies
* for shell developers: have a fully-featured "QMenuModel" library

* update of indicator-datetime that is compatible with the new shell, drops GTK+ dependencies, and is well-tested.
* well-functioning indicator-sound, verified by tests
* power indicator for the new shell that also works on phablet (upower backend), integrates the updated design, dropping the dependency on gtk+, and maybe gnome-settings-daemon
* bluetooth indicator with the new design, that works with the new shell and on phablet


Work Items

Work items for ubuntu-13.04-month-5:
[larsu] write tests for indicator-messages (1 week): DONE
[larsu] port indicator-sound to GMenuModel (1 week left): DONE
[larsu] sync with shell implementors (1 day): DONE
[strehl-t] find out whether we’ll need a sound API in addition to MPRIS2: DONE
[aruiz] extend the integration test coverage with dbusmock for the current feature set (1 week): POSTPONED
[charlesk] i-session: port from dbusmenu to GMenu: DONE
[charlesk] i-session: add Mocks for consolekit seat, session, manager, screensaver, display, session manager, upower, accounts, user for backend test coverage: DONE
[charlesk] i-session: test coverage: DONE
[charlesk] i-session: GMenu + mock support for web acounts: DONE
[charlesk] i-session: export a greeter mode menu: DONE
[charlesk] i-session: full integration with the unity shutdown/restart dialog: DONE

Work items for ubuntu-13.04-month-6:
[larsu] figure out the best way for indicators to pass startup-notify/timestamps when launching apps, and start implementing it (1 week, in Nuremberg): DONE
[aruiz] replace the indicator-network with the chewie repository (2 days): DONE
[aruiz] basic WiFi support (1 week): POSTPONED
[charlesk] clean API: draft spec with antti (1.5 weeks): DONE
[charlesk] i-datetime: decouple GeoLocation, add geo tests: DONE
[charlesk] i-session: add glue code to ido to support GTK display: POSTPONED
[charlesk] i-datetime: start port to GMenu (1 week): DONE
[charlesk] clean API: plan with antti the next steps for impementation: DONE
[attente] start implement indicator-keyboard: DONE

Work items for ubuntu-13.05:
[larsu] Build base IDO Class for Menuitems (2 days): DONE
[larsu] Port existing menuitems to base class (3 days): DONE
[larsu] Document .indicator file format and implement new features in unity-panel-service (1 day): DONE
[larsu] Put GActionMuxer into a library (1 day): DONE
[larsu] Put GMenuModelTracker into a library (part of GMenuModel now) (1 day): DONE
[attente] Provide Control Panel option to configure shortcut (2 days): DONE
[attente] Migrate g-s-d code to indicator keyboard service and tests (5 days): TODO
[attente] Verify indicator-keyboard works on the touch image (3 day): TODO
[charlesk] Indicator Session GMenu (2 days): DONE
[charlesk] clean API: first implementation / test coverage / experimental app?: POSTPONED
[charlesk] i-datetime: don’t start EDS until about-to-show (related to GMenu port): POSTPONED
[charlesk] i-datetime: maybe don’t start GeoClue until about-to-show (same): POSTPONED
[charlesk] i-datetime: finish port to GMenu (1 week): DONE
[charlesk] port indicator-power into a service (1 week): DONE
[charlesk] i-datetime: indicator test coverage; fixes (1 week): DONE
[mpt] Decide if indicator-sync is needed on the phone: TODO
[ted] Finish port of libappindicator to GMenu (2 day): DONE

Work items for ubuntu-13.06:
[larsu] write tests for indicator-sound (5 days): POSTPONED
[charlesk] IDO integration for i-datetime, i-power (4 days): INPROGRESS
[charlesk] Make indicator-application have GMenu Output (3 days): TODO
[charlesk] Dbusmenu to GMenu translator (5 days): TODO
[charlesk] Allow connection from GMenu Appindicators (5 days): TODO
[charlesk] Increase test coverage on indicator-application (5 days): TODO
BIG ITEM: Settings: TODO
BIG ITEM: AppArmor Profiles: TODO
[ted] Convert APs over to standard menuitems (3 days): TODO
[ted] Disable/enable WiFi (2 day): TODO
[ted] Setup Test Suite with DBusmock (5 days): TODO
[ted] Custom AP Support (4 days): TODO
[ted] Airplan mode setting (3 days): TODO
[ted] Connect to secret agent as service (2 days): TODO
[ted] Secrets management with NM (2 days): TODO
[ted] Provide .settings to mardy to start building settings app (1 day): INPROGRESS

Work items for ubuntu-13.07:
i-datetime: decouple EDS & add standalone tests (1.5 weeks): TODO
write indicator-location (reuse as much as possible from ted’s indicator): BLOCKED
Migrate from upower to possibily new backend: BLOCKED
[ted] Use the system dialog protocol for passwords (2 days): TODO
[ted] Disable/enable cellular data (2 days): TODO
[ted] Data tracking (5 days): TODO
[ted] APN Configuration selection (3 days): TODO

Work items for ubuntu-13.08:
[charlesk] test indicator-bluetooth with a new dbusmock template (3 days): TODO
[charlesk] port indicator-bluetooth to GMenuModel (5 days): TODO
[larsu] obsolete indicator-printers (by making it an app, as designed by mpt): TODO
[larsu] i-sound on phone to only show the mediaservice MPRIS and change menu entry when desktop entry changes: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.