Ceci n'est pas une copie de Comment créer des indicateurs d'Unity? . Je cherche un indicateur système et non un indicateur d'application.
Backgound:
A partir de ces deux questions:
- Comment ajouter ou manipuler des indicateurs d'application / système dans l'écran de connexion?
- Comment faire de indicateur-sysmonitor comme indicateur par défaut sur l'écran de connexion
J'ai appris qu'il y a deux types d'indicateurs:
- Système: son, clavier, application, ... (essayez:
ps ax | grep indicator
) - Application: nm-applet, sysmonitor, ... et presque tous énumérés dans la section Quels indicateurs d'application sont disponibles?
Tous les indicateurs d’application sont traités / affichés par indicateur-application (un système). Les indicateurs système sont affichés directement par le panneau Unity.
Les deux questions concernent l'ajout / la suppression d'indicateurs de l'écran de connexion et de verrouillage. La première était une configuration simple (s’agissant des indicateurs système). La seconde était une configuration difficile (quand il s’agissait d’indicateurs d’application), qui nécessitait de modifier la source du service de panneau (Paquet Unity) pour l’écran de verrouillage et la source d’unité-greeter pour l’écran de connexion.
Pour sysmonitor
moi, c'était une solution de contournement. La meilleure solution consiste à implémenter un indicateur système au lieu d'un indicateur d'application.
Sujet:
Existe-t-il une API unifiée pour les indicateurs système (de préférence: Python, puis C / C ++)? S'il vous plaît, référence à la documentation officielle.
La plupart des indicateurs système sont écrits en utilisant le langage de programmation Vala. Est-ce que quelqu'un pourrait écrire une petite démo pour un indicateur système utilisant Python ou C?
Mise à jour:
J'ai trouvé quelques liens qui peuvent donner une impulsion:
Dans la page de projet Indicateurs d'application , ils ont répertorié les liens vers l'API AppIndicator-0.3 ( C & Python ) utilisée pour les indicateurs d'application.
Ils ont également énuméré Indicate-0.7 API ( C & Python ). Qu'est-ce que c'est?C'est un canal de messagerie DBus entre les applications de bureau.D'autre part, dans la page de projet Indicateurs de système , ils ont mentionné:
API d'indicateur système
Menu de messagerie utilisant libindicate.- Menu Son en utilisant la liberté.
Indicateur de date / heure avec Evolution-Data-Server
Ils semblent lister l’API de données et non l’API de développement d’indicateurs comme pour Evolution-Data-Server. Mais pas sûr de
libindicate &libunity. Est-ce que quelqu'un a travaillé avec ces deux bibliothèques?Essayez
apt-cache rdepends libunity9 libindicator7 libindicator3-7
de voir quel indicateur relaie ces bibliothèques.
Update2: Ceci pour garder les utilisateurs intéressés à jour.
D'après ce que j'ai collecté jusqu'à maintenant, voici l'ordre des solutions possibles:
libindicator3-7
(élevé, de nombreux indicateurs en dépendent)J'ai trouvé des exemples de test dans la source, des indicateurs factices que j'ai essayés, qui pourraient être installés
/usr/lib/indicators3/7/
, ils sont partagés.so
. Je pouvais les afficher dans Login & Session régulière mais pas dans l'écran de verrouillage.Cependant, il existe certains services d'indicateurs de test, qui semblent être ceux du système Unity. Je ne les ai pas encore essayés.
libindicator7
De même source que libindicator3-7, de rdepends:
mate-indicator-applet lxpanel-indicator-applet-plugin
Il semble être utilisé pour fabriquer des conteneurs pour les indicateurs dans les panneaux.
libunity9
(faible)Aucune recherche pour le moment
export_action_group
,export_menu_model
) et les objets (SimpleActionGroup
,Menu
) sont dansgi.repository.Gio
. J'essaierai d'en écrire un dans les prochains jours.Remarque: s'il vous plaît vérifier au bas de ce post pour le dernier mot sur cette réponse.
Je ne sais pas si je suis vraiment d'aucune aide, mais j'espère que cette idée pourra être utile.
D'après ce que j'ai cherché, la différence entre les indicateurs système et d'application est distincte. Dans cet esprit, je présente maintenant un concept discutable:
L'idée m'est venue en regardant les posts suivants:
https://askubuntu.com/a/234204/408654
https://askubuntu.com/a/42213/408654
L'API Unity semble être principalement conçue pour être utilisée avec les indicateurs d'application, mais les indicateurs système et d'application peuvent utiliser une programmation similaire (C lang). Cependant, vous avez mentionné précédemment que ces deux types d’indicateurs sont gérés par deux systèmes différents. En tant que tel, j'ai ensuite lu l'une de vos sources:
Comment ajouter ou manipuler des indicateurs d'application / système dans l'écran de connexion?
La réponse principale consistait à ignorer un utilisateur déjà existant pour obtenir l'accès requis. Il a également fourni une solution pour ajouter et supprimer tous les indicateurs existants. C'est une solution de gestion unifiée pour les indicateurs. Serait-il possible de remplacer un utilisateur par défaut (préexistant) pour exécuter / introduire un indicateur système?
En réponse à cette partie de votre requête:
Malheureusement, il n’existe aucun moyen d’utiliser les API d’indicateur d’application pour les indicateurs système. En tant que tel, ma solution est vide :(
la source