PyGTK - eventos do menu global do gtk.Menu no Unity

2

Eu tenho um aplicativo GUI escrito em PyGTK e preciso ler os eventos key-press / release no menu do aplicativo.

Por exemplo, ao pressionar a tecla shift e clicar no item de menu, faça outra coisa, então ordinária. gtk.Menu implementar este sinais e funciona muito bem para a aplicação, até que o Unity mova o menu para o painel - não há mais eventos do menu. Não estou disposto a redesenhar a GUI por causa do Unity, espero que haja uma maneira melhor. Thanx antecipadamente por qualquer dica.

    
por GdH 12.05.2011 / 17:26

2 respostas

1

O PyGTK foi discutido recentemente na recente Semana de desenvolvedores do Ubuntu Apps .

Em resumo, o PyGTK foi efetivamente obsoleto em favor do pyGT. Isso é por causa do Unity, Gnome3 e do próximo GTK3.

Portanto, ao que parece, se você quiser que seu aplicativo seja suportado em plataformas mais novas (não apenas no Ubuntu), então você precisará refazer um pouco seu código, compilando contra bibliotecas pyGI e não pyGTK.

    
por fossfreedom 12.05.2011 / 23:26
1

Ok, eu tenho solução possível. É óbvio que o menu global vai depois de gtk.MenuBar, então eu removi meu menu do gtk.MenuBar e construí minha própria barra de menu simples baseada em gtk.EventBox, gtk.Label e gtk.Menu.popup. Agora eu tenho meu menu na janela do meu aplicativo e tudo funciona como esperado. Como é um aplicativo de janela pequena, o menu global é um absurdo neste caso.

    
por GdH 14.05.2011 / 14:42