É possível alterar e atualizar o ícone de status de um applet indicador em execução?

8

Estou tentando criar um indicador de aplicativo simples que imita o applet de carga da CPU para o painel do gnome.

Atualmente faço isso atualizando (sobrescrevendo) o ícone de status do indicador com as novas informações de carga da CPU e redefinindo o ícone de status para o mesmo ícone em cada atualização (sei que isso é estúpido, mas não sei saber se é atualmente possível resolver o contrário).

Infelizmente isso não funciona e sempre vejo o estado do "primeiro" ícone, por exemplo.

O ícone do indicador não é atualizado, enquanto o conteúdo do ícone é exibido.

Eu também tentei definir temporariamente o ícone de status para outra coisa primeiro, por exemplo.

...
update_icon()
indicator.set_icon("indicator-messages")
indicator.set_icon("indicator-cpu-load")
...

mas isso também não funcionou.

Alguma idéia?

UPDATE:

É realmente possível fazer o que eu queria usando um hack para fazer com que o indicador repintasse seu ícone (graças a Jorge Castro e Ted Gould):

...
update_icon()
indicator.set_status(appindicator.STATUS_ATTENTION)
indicator.set_status(appindicator.STATUS_ACTIVE)
...

O ícone de estado de atenção deve ser o mesmo que o ícone de estado ativo, caso contrário, haverá alguma cintilação.

    
por htorque 03.11.2010 / 13:49

2 respostas

4

Este não é o comportamento pretendido dos Indicadores de Aplicativos: eles devem ter um ou dois ícones e não algo que você poderia colocar em um widget.

Parece haver algo errado no armazenamento em cache do ícone, já que ele deve atualizar um ícone alterado.

De qualquer forma, você provavelmente quer usar algo como ' libindicator ' para criar seu próprio indicador personalizado. A coleção de indicadores de aplicação no seu painel é desenhada por um indicador. Você tem muito mais funções à sua disposição ao escrever um indicador personalizado do que ao usar a API limitada de Indicadores de aplicativos, que foi deliberadamente limitada para garantir que não causássemos confusão.

Verifique também o pacote 'libindicator-tools', que contém alguns utilitários para testar indicadores.

    
por Sense Hofstede 11.11.2010 / 16:12
1

Eu não acho que isso é possível e parece ser por design, a partir do relatório de erros .

  

O que nós gostaríamos de   incentivar é para as pessoas começarem   pensando como temas de ícones. O motivo   para isso é que ele permite   vários tamanhos e temas do   painel separado das aplicações. Assim,   por exemplo, um aplicativo pode ser   temático com um fundo claro (assim   precisando de ícones escuros) e o painel   poderia ter um fundo escuro (precisando   ícones de luz). A aplicação   não deveria ter que saber sobre isso. E   usando o nome do ícone este problema é   solucionável no lado do painel das coisas.

     

Para o ciclo Natty, também queremos   fornecer uma API de conveniência para fornecer   para criar um tema de ícone personalizado para   pessoas que querem gerar ícones.   Isso não resolve todos os temas   problemas, mas torna possível   para resolver os vários tamanhos um.

Atualização: Para responder ao seu comentário, Ted acha que é um bug e recomenda que você registre um bug no indicador-aplicativo , algo ao longo das linhas de "atualizações de tema não são realizadas pelos indicadores"

    
por Jorge Castro 11.11.2010 / 15:13