This is not a duplicate of How to create Unity indicators?. I'm looking for system indicator not application indicator.
Backgound:
From these two questions:
- How do I add or manipulate Application/System Indicators in the login screen?
- How to make indicator-sysmonitor as a default indicator on the login screen
I learned that there are two types of indicators:
- System: sound, keyboard, application,... (try:
ps ax | grep indicator
) - Application: nm-applet, sysmonitor,... and almost all which are listed in What Application Indicators are available?
All application indicators are handled/showed by indicator-application (a system one). System indicators are showed directly by Unity panel.
Both questions are about adding/removing indicators from login & lock screen. The first was a straight forward setup (when dealing with system indicators). The second was a tough setup (when dealing with app indicators), which needs modifying the source of panel service (unity package) for lock screen and the source of unity-greeter for login screen.
As the case of sysmonitor
, to me that was workaround. The best solution is to implement a system indicator instead of an application one.
Topic:
Is there a unified API for system indicators (Preferably: Python then C/C++)? Please, reference to the official documentations.
Most system indicators are written using Vala programming language. Could any one write small demo for a system indicator using Python or C?
Update:
I found few links that may give a push:
In Application Indicators project page, They listed links to AppIndicator-0.3 API (C & Python) used for application indicators.
They listed also Indicate-0.7 API (C & Python). What is this?Well, it is a DBus messaging channel between Desktop Applications.On other hand, in System Indicators project page, they mentioned:
System Indicator APIs
Messaging Menu using libindicate.- Sound Menu using libunity.
Date/Time Indicator using Evolution-Data-Server
They seem listing Data API not Indicator Development API like for Evolution-Data-Server. But not sure about
libindicate &libunity. Did any one work with these two libraries?Try
apt-cache rdepends libunity9 libindicator7 libindicator3-7
to see which indicator is relaying these libraries.
Update2: This to keep interested users updated.
From what I have collected till now, here is the order of possible solutions:
libindicator3-7
(high, Many indicators depend on it)I found some test examples in the source, some dummy indicators that I have tried, could be installed in
/usr/lib/indicators3/7/
, they are shared lib.so
. I could get them displayed in Login & Regular Session but Not in Lock Screen.However there are some test indicator services, which seems like Unity system ones. I haven't tried them yet.
libindicator7
From same source as libindicator3-7, from rdepends:
mate-indicator-applet lxpanel-indicator-applet-plugin
It seems to be used to make container for indicators in panels.
libunity9
(low)No research yet