Я пытаюсь исследовать эту ошибку ; Суть в том, что если у вас есть индикатор приложения 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, поэтому прошу прощения, если что-то очевидно)