LINUX.ORG.RU

gnome shell extention не могу найти как отловить событие

 


0

1

Нужно отловить событие клика любого actor и вернуть его имя. Че-то не соображаю что отвечает за привязку события ко всем actor. Читал мануал по Clutter, но не нашел нужного. Прошу кто стыкался с этим помочь

★★

Последнее исправление: webmak (всего исправлений: 1)

Че-то не соображаю что отвечает за привязку события ко всем actor.

сомневаюсь, что это возможно. ведь Stage - тоже Actor.

Lincor
()

решение: приведи Stage к Actor и вызови .get_children(), пройдись по нему форичем и добавь обработчики к нужным сигналам.

Lincor
()
Ответ на: комментарий от Lincor

я уже в какомто экстеншене видел - но забыл в каком перелопатил часть - дальше рытся сил нет.

webmak ★★
() автор топика
Ответ на: комментарий от Lincor

слишком много циклов, будет сложная рекурсия, потому как каждый чайлд Stage будет иметь свои чайдл actor - дожно как-то изящней быть

webmak ★★
() автор топика
Ответ на: комментарий от webmak

извеняюсь за неграмотность - лень удалять и переписывать сообщения.

webmak ★★
() автор топика
Ответ на: комментарий от webmak

дожно как-то изящней быть

можно как-то так:
1. назначить всем Stage обработчики на activate.
2. в обработчике делать Threads.set_repaint_func(своя_функция_для_каждого_Stage).
3. там смотреть Stage.key_focus и, если это не сам Stage, назначать обработчик на нужный сигнал.

Lincor
()
Последнее исправление: Lincor (всего исправлений: 1)
Ответ на: комментарий от powerguy

Hello, I am first time here. Sorry if some is wrong. I need some help. I have make mode of https://extensions.gnome.org/extension/602/window-list/ for my needs. I almost done it (https://github.com/webmak/window-list-gnome-extention-mod) but for more usability I want to hide this extension when another window are clicked. I can't find an object to connect signal for all actors for it.Thanks for help.

webmak ★★
() автор топика
Ответ на: комментарий от powerguy

я таким пользуюсь впервые может и начудил.

webmak ★★
() автор топика
12 февраля 2015 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.