ícone de aplicativo PyGTK turva na unidade

6

Eu tenho o ícone 128x128 referenciado no arquivo glade da janela principal como <property name="icon">../media/my-icon.svg</property> .

Eu tentei, com svg e png, mas é sempre muito borrado no alternador de aplicativos do Ubuntu (Alt + Tab).

Eu notei o mesmo ao criar um aplicativo a partir do modelo usando rapidamente, o logotipo do Ubuntu também está muito borrado.

Alguma idéia de por que isso pode acontecer?

    
por umpirsky 27.12.2011 / 19:34

1 resposta

8

O que está acontecendo

As configurações de <property name="icon"> referem-se ao ícone da janela, não ao ícone do aplicativo. Pelo que entendi, o servidor de janelas do Ubuntu (X.org) os esmaga para um tamanho pequeno após o carregamento. Se você não se lembra do ano de 2009, eles costumavam ser usados nessa capacidade:

Usando ícones de aplicativos

O Ubuntu Unity usará esse formato de baixa resolução, se necessário. No entanto, ele geralmente busca ícones de aplicativos de acordo com o valor Icon= de um lançador de aplicativos de uma determinada janela, chamado de "entrada de área de trabalho" ".

Se você é um desenvolvedor de aplicativos normal que planeja publicar o programa com o Portal do desenvolvedor de aplicativos , provavelmente pode parar de ler aqui. O serviço de empacotamento gratuito manipulará a gravação da entrada da área de trabalho do seu aplicativo e colocará seus ícones instalados na parte direita do sistema de arquivos. Se não ...

O âmago da questão

Como criar uma entrada na área de trabalho e fazer com que o Ubuntu combine sua janela do PyGTK com o ícone e o nome corretos do aplicativo já esteja documentado nesta pergunta . Mas onde você coloca ícones para obter o ícone certo?

Quando isso acontece, a resposta é bem misteriosa. De acordo com as especificações do freedesktop.org, os ícones são pesquisados e carregados por tamanho, tema de ícone e (quando necessário) localização. Os ícones podem ser instalados em vários prefixos diferentes, dependendo da fonte que os instalou. O Ubuntu "consulta" ícones por contexto.

As regras simples: use um nome de ícone exclusivo para seu aplicativo para evitar falsas correspondências com outros ícones. Coloque o (s) ícone (s) do seu aplicativo em um dos seguintes diretórios (ou um subdiretório dele):

<user prefix>/share/icons/<icon width>x<icon height>/apps/
<user prefix>/share/icons/scalable/apps/

<user_prefix> é o caminho de instalação do seu aplicativo (será /usr para pacotes instalados pelo gerenciador de pacotes, /usr/local/ para outro software instalado para todos os usuários e $HOME/.local para instalações de usuário único). <icon width> e <icon height> (ou 'escalável' para SVGs) referem-se às dimensões do ícone. Se você criar muitas resoluções de ícones diferentes, o Ubuntu sempre encontrará e selecionará o caminho certo para qualquer contexto.

Como o ícone do aplicativo certo é exibido durante o desenvolvimento

  1. Crie um ícone escalonável ou de alta resolução e coloque-o no subdiretório correto do diretório share/ da sua casa do usuário. Por exemplo, myapp.svg iria em $HOME/.local/share/icons/scalable/

  2. Escreva uma entrada na área de trabalho que inclua o nome sem extensão de seu ícone. Por exemplo

    [Desktop Entry]
    
    Name=My Application
    Exec=my_binary
    Icon=myapp
    

    Coloque isso em $HOME/.local/share/applications/ . Observe que my_binary deve ser um executável pesquisável em um dos seus diretórios $PATH .

  3. Execute seu aplicativo (a) no Unity Dash, (b) na linha de comando usando o nome exato do seu $PATH executável [por exemplo, 'my_binary']. / p>

Se tudo isso parecer bobagem ...

Abra o seu navegador de arquivos e explore os diretórios /usr/share/applications/ e /usr/share/icons/ . Olhe em volta e você verá como os metadados e ícones do aplicativo funcionam no Ubuntu.

    
por Jjed 31.12.2011 / 09:16