我正在尝试调查这个错误;要点是,如果您有一个 Unity 应用程序指示器,并且您在其上滚动,则滚动事件始终是“向上”,即使您向下滚动。
以下是创建应用指示器的示例 Python 脚本。运行它,然后将鼠标悬停在指示器(Firefox 图标)上并上下滚动。输出始终为:
from gi.repository import Gtk, Gdk, AppIndicator3
if __name__ == "__main__":
menu = Gtk.Menu()
quit = Gtk.MenuItem("Quit")
quit.connect("activate", Gtk.main_quit)
menu.append(quit)
menu.show_all()
def scroll(ind, steps, direction):
print steps, direction
if direction != Gdk.ScrollDirection.UP:
print "Things seem ok"
indicator = AppIndicator3.Indicator.new('testscroll', '', AppIndicator3.IndicatorCategory.APPLICATION_STATUS)
indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
indicator.set_icon("/usr/share/pixmaps/firefox.png")
indicator.connect("scroll-event", scroll)
indicator.set_menu(menu)
Gtk.main()
我可以看到信号正在定义在这里但我看不到滚动事件实际上是在哪里发出的。
滚动事件信号从哪里发出?代码中的哪个地方可能出现“错误”并错误地报告向上的方向?(我是 Ubuntu 开发新手,所以如果有什么很明显的地方,请原谅)