Em 2010, Stefano Palazzo, fez uma pergunta relacionada, Colocando um gtk.Widget arbitrário em um appindicator.Indicator e um similar foi solicitado no StackOverflow . Nos dois casos, o consenso é que os Indicadores de Aplicativos do Ubuntu são limitados. Como Michael Ekstrand colocou:
O suporte ao menu Indicador de Aplicação é baseado nos menus D-Bus, que são limitados no que suportam - eles suportam apenas a funcionalidade básica do menu, e não coisas mais exóticas, como widgets arbitrários.
No entanto, contradiz o que vemos no indicador Bluetooth hoje, em 2016: ele usa interruptores.
O mesmo pode ser observado com o indicador Ubuntu One da 13.04:
Então, obviamente, há um caminho. Estudei o código fonte do indicador-bluetooth, mas está escrito em Vala. No entanto, trabalho principalmente em python, e aprender Vala apenas para reescrever todos os meus indicadores já existentes é um trabalho demais.
Portanto, o cerne da questão: como alguém pode usar o Gtk.Widgets ou, no mínimo, uma chave de alternância, como no indicador Bluetooth, usando Python?
NOTA : Estou disposto a recompensar esta pergunta para recompensar uma resposta que fornecerá um exemplo de trabalho em python . Outros idiomas não são aceitos.
test = Gtk.CheckMenuItem("Monkey")
funciona adicionando um botão de verificação, mas deve haver mais. Enquanto que um funciona, este deve funcionar, mas não: Gtk.CheckMenuItemToggled("Monkey")
. Tenho certeza de que pode funcionar de qualquer maneira. Veja: developer.gnome.org/gtk3/stable/GtkCheckMenuItem.html
Gtk.ImageMenuItem
é obsoleto e desencorajados de usar btw: developer.gnome.org/gtkmm/stable/deprecated.html