Esta não é uma duplicata de Como criar indicadores do Unity? . Estou procurando pelo indicador do sistema, não pelo indicador do aplicativo.
Backgound:
Destas duas perguntas:
- Como adiciono ou manipulo Indicadores de aplicativo / sistema na tela de login?
- Como tornar o indicador-sysmonitor como um indicador padrão na tela de login
Aprendi que existem dois tipos de indicadores:
- Sistema: som, teclado, aplicativo, ... (tente
ps ax | grep indicator
:) - Aplicação: nm-applet, sysmonitor, ... e quase todas as listadas em Quais indicadores de aplicação estão disponíveis?
Todos os indicadores de aplicação são tratados / mostrados por aplicação de indicador (um sistema). Os indicadores do sistema são mostrados diretamente pelo painel do Unity.
Ambas as perguntas são sobre como adicionar / remover indicadores da tela de login e bloqueio. O primeiro foi uma configuração direta (ao lidar com indicadores do sistema). A segunda foi uma configuração difícil (ao lidar com indicadores de aplicativos), que precisa modificar a fonte do serviço do painel (pacote unity) para a tela de bloqueio e a fonte do unity-greeter para a tela de login.
Como o caso sysmonitor
, para mim isso foi uma solução alternativa. A melhor solução é implementar um indicador do sistema em vez de um aplicativo.
Tema:
Existe uma API unificada para indicadores do sistema (de preferência: Python e C / C ++)? Por favor, consulte as documentações oficiais.
A maioria dos indicadores do sistema é escrita usando a linguagem de programação Vala. Alguém poderia escrever uma pequena demonstração para um indicador do sistema usando Python ou C?
Atualizar:
Encontrei alguns links que podem dar um empurrão:
Na página do projeto Indicadores de aplicativo , eles listaram links para a API AppIndicator-0.3 ( C & Python ) usada para indicadores de aplicativo.
Eles também listaram a API do Indicate-0.7 ( C & Python ). O que é isso?Bem, é um canal de mensagens DBus entre aplicativos de desktop.Por outro lado, na página do projeto System Indicators , eles mencionaram:
APIs de indicadores do sistema
Menu de mensagens usando libindicate.- Menu de som usando liberdade.
Indicador de data / hora usando o Evolution-Data-Server
Eles parecem listar a API de dados e não a API de desenvolvimento de indicadores, como no Evolution-Data-Server. Mas não tenho certeza sobre
libindicar elibunidade. Alguém trabalhou com essas duas bibliotecas?Tente
apt-cache rdepends libunity9 libindicator7 libindicator3-7
ver qual indicador está retransmitindo essas bibliotecas.
Update2: Isso para manter os usuários interessados atualizados.
Do que eu colecionei até agora, aqui está a ordem das possíveis soluções:
libindicator3-7
(alto, muitos indicadores dependem disso)Encontrei alguns exemplos de teste na fonte, alguns indicadores fictícios que eu tentei, poderiam ser instalados
/usr/lib/indicators3/7/
, eles são libs compartilhados.so
. Eu poderia exibi-los no login e na sessão regular, mas não na tela de bloqueio.No entanto, existem alguns serviços de indicadores de teste, que parecem ser do sistema Unity. Ainda não os experimentei.
libindicator7
Da mesma fonte que libindicator3-7, de rdepends:
mate-indicator-applet lxpanel-indicator-applet-plugin
Parece ser usado para fazer contêiner para indicadores em painéis.
libunity9
(baixo)Nenhuma pesquisa ainda
export_action_group
,export_menu_model
) e objetos (SimpleActionGroup
,Menu
) estão emgi.repository.Gio
. Vou tentar escrever um nos próximos dias.NOTA: Por favor, verifique a parte inferior deste post para a palavra final sobre esta resposta.
Não sei se tenho alguma ajuda, mas espero que essa ideia seja útil.
Pelo que pesquisei, a diferença nos indicadores de sistema e de aplicação é distinta. Com isso em mente, agora apresento um conceito questionável:
A ideia veio a mim enquanto observava os seguintes posts:
https://askubuntu.com/a/234204/408654
https://askubuntu.com/a/42213/408654
A API do Unity parece ter sido criada principalmente para uso com indicadores de aplicativos, mas os indicadores de sistema e de aplicativo podem usar programação semelhante (C lang). No entanto, você mencionou anteriormente que esses dois tipos de indicadores são tratados por dois sistemas diferentes. Como tal, passei a ler uma de suas fontes:
Como adiciono ou manipulo Indicadores de aplicativo / sistema na tela de login?
A resposta principal envolvia substituir um usuário já existente para obter o acesso necessário. Também forneceu uma solução para adicionar e remover todos os indicadores existentes. É uma solução de gerenciamento unificado para indicadores. Seria possível substituir um usuário padrão (pré-existente) para executar / introduzir um indicador do sistema?
Em resposta a esta parte da sua consulta:
Infelizmente, porém, não há como usar APIs de Indicador de Aplicativo para Indicadores de Sistema. Como tal, minha solução é nula :(
fonte