Ícones dependentes de tema do Appindicator

1

Estou desenvolvendo o aplicativo PyGTK com appindicator. Eu crio meu appindicator similar como em este exemplo. Neste exemplo, o ícone de estoque "messages-indicator" é usado.

Então, eu posso:

  1. use o ícone de estoque (do tema existente)
  2. crie um ícone personalizado

A questão é, se eu usar o ícone de estoque, como posso determinar quais ícones estão disponíveis (isso é consistente em todos os sistemas operacionais, é fornecido pelo GTK)? Isso se comportará da mesma forma em diferentes distribuições Linux?

Ou, se eu criar um ícone personalizado, como posso detectar qual tema está ativo (suponho que preciso ter uma versão escura e clara do ícone) e renderizar o ícone apropriado? O que há com outros temas, parece difícil dar suporte a todos eles?

Em link , ele diz "Ícones do painel temáticos - você pode definir um ícone específico para ser um ícone de painel para um Indicador: isso deve facilitar a criação de ícones de painel de cor única para temas claros e escuros. " mas não diz como conseguir isso?

Eu encontrei Indicador de tempo faz isso, mas com ícones de estoque eu acho.

    
por umpirsky 27.12.2011 / 13:22

2 respostas

4

Para sua parte da pergunta:

  

se eu criar um ícone personalizado, como posso detectar qual tema está ativo?   suponho que eu preciso ter versão ícone escuro e leve) e render   ícone apropriado? O que é com outros temas, parece que é difícil   apoiar todos eles?

você pode usar a propriedade "gtk-theme-name" definida na classe GtkSettings para obter o nome do tema que está sendo ativo.

Para mais informações sobre o GtkSettings, verifique este

    
por Rajesh Pantula 27.12.2011 / 14:02
1

Para a parte de Stock ICons, eu achei isso no centro de desenvolvimento do gnome,

um item de estoque é do tipo GtkStockItem struct.

struct GtkStockItem {
  gchar *stock_id;
  gchar *label;
  GdkModifierType modifier;
  guint keyval;
  gchar *translation_domain;
};

aqui todo item de estoque tem um id de estoque, esse mesmo id de estoque é mapeado para um ícone de GtkIconFactory, veja isso na documentação do gnome:

  

Cada ID de estoque pode ser associado a um GtkStockItem, que contém   o rótulo visível ao usuário, o acelerador de teclado e o domínio de tradução   do menu ou item da barra de ferramentas; e / ou com um ícone armazenado em um   GtkIconFactory

     

A conexão entre um GtkStockItem e ícones de ações é puramente   convencional (em virtude de usar o mesmo ID de estoque); é possível   registrar um item de estoque, mas nenhum ícone e vice-versa. Ícones de ações podem   tem uma variante RTL que é usada para locais da direita para a esquerda.

Para mais informações, consulte este

Desculpe por postar como segunda resposta e não como um comentário, não consegui digitar esse texto muito longo nos comentários.

    
por Rajesh Pantula 27.12.2011 / 16:25