Python AppIndicator bindings>如何检查菜单是否打开?

2024-06-16 11:53:07 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是一个AppIndicator的最小示例:

#!/usr/bin/python

import gobject
import gtk
import appindicator

if __name__ == "__main__":
    ind = appindicator.Indicator("example-simple-client", "gtk-execute", appindicator.CATEGORY_APPLICATION_STATUS)
    ind.set_status (appindicator.STATUS_ACTIVE)
    menu = gtk.Menu()
    menu_items = gtk.MenuItem('Quit')
    menu.append(menu_items)
    menu_items.connect("activate", gtk.main_quit)
    menu_items.show()
    ind.set_menu(menu)
    gtk.main()

不幸的是,这方面的文件非常不完整。我想要的是一种检查AppIndicator菜单是否被用户打开的方法(例如,点击了指示器图标)。那么菜单打开时会发出信号吗?在


Tags: import示例gtkbinmainusrstatus菜单
2条回答

在Launchpad上有一个关于它的bug文件{a1}

注意,AppIndicator子菜单有“激活”信号。

看来答案是不不幸的。

print gobject.signal_list_names(ind)
('new-icon', 'new-attention-icon', 'new-status', 'new-label', 'x-ayatana-new-label', 'connection-changed', 'new-icon-theme-path')

我试了所有的指示灯,但当指示器被点击时,没有一个被激活。值得一提的是,unity开发人员似乎希望保持所有指标的一致性,因此很可能故意对其进行限制。

相关问题 更多 >