Indicator quebrado no Ubuntu 16.04

0

Eu escrevi um simples applet de indicadores para o Ubuntu em python com o gi.repository que eu estava executando com sucesso no meu Ubuntu 14.04 por um longo tempo sem nenhum problema. Depois que eu atualizei para o Ubuntu 16.04, comecei a ver um comportamento estranho. Eu tentei no Ubuntu 14.04 novamente para ter certeza e funciona bem, mas no Ubuntu 16.04 meus eventos de menu não são disparados e o aplicativo às vezes não responde quando tento alterar o ícone.

Algum indicador básico de código que funciona no Ubuntu 14.04, mas não no Ubuntu 16.04

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk as gtk
gi.require_version('AppIndicator3', '0.1')
from gi.repository import AppIndicator3 as appindicator

def main():
    indicator = appindicator.Indicator.new(
        'mytestindicator',
        gtk.STOCK_INFO,
        appindicator.IndicatorCategory.SYSTEM_SERVICES
    )
    indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
    indicator.set_menu(build_menu())
    gtk.main()

def quit(source):
    gtk.main_quit()

def build_menu():
    menu = gtk.Menu()
    item_quit = gtk.MenuItem('Quit')
    item_quit.connect('activate', quit)
    menu.append(item_quit)
    menu.show_all()
    return menu

if __name__ == '__main__':
    main()

Então, minha pergunta é o que mudou entre o Ubuntu 14.04 e o 16.04 e como posso criar um applet indicador confiável que funcione sem problemas em ambos os sistemas?

Uma coisa que eu notei foi que no Ubuntu 14 eu tenho o gi.repository versão 3.12.0 mas no Ubuntu 16 ele é 3.20.0, não tenho certeza se isso importa.

Fiz a mesma pergunta em stackoverflow , mas achei que também deveria pergunte aqui

    
por user193241 26.10.2017 / 13:26

0 respostas