Indicator Backend

Registered by Thomas Strehl

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.