Faça o sniqt reconhecer todas as habilidades da bandeja (ou crie um indicador de funcionamento no Qt)

9

Existe este meu antigo segmento: Como criar um indicador de funcionamento com Qt / C ++? onde me sugeriram usar a biblioteca QSystemTray para criar um ícone de bandeja no Ubuntu para o meu aplicativo.

Sniqt é um programa que cuida do resto. Como se sabe, o Ubuntu se livrou dos ícones da bandeja. Em vez disso, agora usa indicadores e apenas indicadores. O Sniqt converte os ícones da bandeja Qt em indicadores de trabalho.

O problema é que ele não faz uma conversão muito decente. Ações como clique único, clique do meio etc. não funcionam, enquanto funcionam em sistemas que suportam ícones da bandeja.

Existe uma maneira de ter essas ações de volta? Posso usar o ícone QSystemTray e ainda ter essas ações interessantes (e muito úteis, na minha ocasião) no Ubuntu?

Eu ficaria feliz em saber a resposta para o outro tópico de que falei anteriormente (como criar um indicador de funcionamento usando as bibliotecas GTK e impedir a falha) também.

Link para bug do Sniqt: https://bugs.launchpad.net/sni-qt/+bug/1027652

hytromo
fonte
Esse comportamento não é normal para todos os indicadores? Eles aceitam apenas eventos de clique e rolagem à esquerda.
Timo
Não! Se você, por exemplo, clicar com o botão do meio no ícone de som, o som será desativado / desativado. No meu aplicativo, quero fazê-lo sair.
Hytromo 04/12/12
@mateo_salta, compare-o com o askubuntu.com/questions/158323/…
hytromo

Respostas:

0

Parece que o Qt não suporta isso, pelo menos no Ubuntu Unity, mesmo que tenha um sinal 'ativado'. Então, eu recomendo que você use GTK e um trayicon normal, não vejo alternativa com o Qt. Você pode entrar em contato com os desenvolvedores do Qt para obter esclarecimentos sobre isso.

Ceppo93
fonte
11
Desculpe, mas o Qt realmente tem essa funcionalidade nos ícones da bandeja. A ação da minha bandeja funciona perfeitamente em outros sistemas. É um problema do Ubuntu e sua teimosia com os indicadores. Sniqt pode ser capaz de resolver o problema
hytromo
2
Posso confirmar que isso não é culpa do Qt. Eu também duvido que o problema esteja sniqt. Não sei que os indicadores de aplicativos têm a capacidade de diferenciar entre cliques esquerdo e direito. Essa também tem sido uma fonte constante de frustração para mim.
Nathan Osman
1

A unidade, por opção, não suporta o que você está chamando de "ícones decentes da bandeja". São indicadores ou nada. A partir daí, você tem várias opções:

  • Se contentar com os recursos limitados do indicador. Você pode definir o menu que será usado pelo seu indicador com o método QSystemTray.setContextMenu () padrão.

  • Desanexe totalmente o aplicativo da bandeja do sistema. Por exemplo, transforme-o em um ícone flutuante na área de trabalho, capaz de aceitar cliques do meio e do botão direito como Deus e Matthias Ettrich pretendiam. Você pode encontrar um exemplo simples de como fazer isso aqui: http://kde-apps.org/content/show.php/KEyes?content=51493 (Opcionalmente, faça isso somente quando detectar que você está executando no Unity, ou seja, se $ DESKTOP_SESSION estiver definido como 'ubuntu'.)

  • Declare o Unity sem suporte. Esta não é uma opção muito boa.

A escolha das opções 1 ou 2 depende principalmente do que o aplicativo faz.

Balinares
fonte