Найти все открытые окна для процесса в GTK - PullRequest
1 голос
/ 15 марта 2011

Есть ли в GTK возможность открыть все текущие окна определенным процессом? В идеале я хотел бы иметь возможность получить экземпляры GtkWindow. Я знаю, что в Java AWT есть:

java.awt.Window[] windows = java.awt.Window.getWindows();

И в Microsoft UI Automation также есть способ получить все окна для приложения. Есть ли способ сделать это с GTK?

Я нашел функцию gtk_window_list_toplevels, но, похоже, она возвращает слишком много окон. Приложение gedit имеет 30 окон верхнего уровня на моем компьютере. Это просто слишком много для приложения с одним окном.

1 Ответ

2 голосов
/ 15 марта 2011

gtk_window_list_toplevels() дает вам только окна из вашего процесса, но включает в себя скрытые окна.Поэтому, если вы перечислите окна верхнего уровня приложения, такого как Gedit, вы, вероятно, получите множество скрытых окон настроек, диалогов поиска и, возможно, множество других окон, связанных со многими плагинами.Попробуйте сначала с помощью простого приложения с одним окном, которое вы написали сами, и вы обнаружите, что оно возвращает только главное окно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...