相关疑难解决方法(0)

如何使用pygtk获取gnome2桌面上所有窗口的列表?

我对一些gtk和gnome概念感到困惑.我正在尝试获取gnome2桌面上非最小化窗口的列表,但在阅读了pygtk文档并检查结果后,我无法理解结果.

下面的两个片段似乎都不起作用.

首先我试过这个..

>>> gtk.gdk.window_get_toplevels()
[<gtk.gdk.Window object at 0xb74339b4 (GdkWindow at 0x8a4c170)>]

>>> gtk.gdk.window_get_toplevels()[0].get_children()
[]
Run Code Online (Sandbox Code Playgroud)

那么这个

>>> d = gtk.gdk.DisplayManager()   
>>> d.get_default_display().get_screen(0).get_root_window().get_children() 
[<gtk.gdk.Window object at 0x89dcc84 (GdkWindow at 0x8a4c170)>, <gtk.gdk.Window object at 0x89dccac (GdkWindow at 0x8a4c0c0)>] 
Run Code Online (Sandbox Code Playgroud)

如控制台输出中所示,第二个选项返回两个窗口.但我无法弄清楚它们是什么.他们都没有任何孩子,无论我在桌面上有多少个窗口,我总是得到这两个窗口.

任何人都可以解释典型的基于gtk的桌面环境的对象层次结构吗?我无法理解为什么上面的代码不起作用.

请不要发布资源到wnck,xlib,qt等的替代解决方案.我更感兴趣的是了解我做错了什么,而不是获取建议,比如我们检查其他库.

python gtk pygtk gnome window-management

5
推荐指数
2
解决办法
2597
查看次数

标签 统计

gnome ×1

gtk ×1

pygtk ×1

python ×1

window-management ×1