小编Phi*_*lip的帖子

Python:如何使用 Xlib 在工作区之间切换?

如何使用带有 Xlib 模块的 Python 在窗口管理器的工作区之间切换?

这是我最有希望的尝试:

#!/usr/bin/python

from Xlib import X, display, error, Xatom, Xutil
import Xlib.protocol.event

screen = Xlib.display.Display().screen()
root   = screen.root


def sendEvent(win, ctype, data, mask=None):
        """ Send a ClientMessage event to the root """
        data = (data+[0]*(5-len(data)))[:5]
        ev = Xlib.protocol.event.ClientMessage(window=win, client_type=ctype, data=(32,(data)))

        if not mask:
            mask = (X.SubstructureRedirectMask|X.SubstructureNotifyMask)
        root.send_event(ev, event_mask=mask)


# switch to desktop 2
sendEvent(root, Xlib.display.Display().intern_atom("_NET_CURRENT_DESKTOP"), [2])
Run Code Online (Sandbox Code Playgroud)

上面的代码是从 PyPanel 源代码的各个地方无耻地窃取的;不幸的是,它没有做任何事情,甚至没有生成警告/异常。我在这里错过了什么吗?

我正在使用 Python 和 PyGTK。Xlib 似乎是切换桌面的正确选择。我不打算使用 wnck (有缺陷的 Python 模块)或类似的,但无论如何我都会很感激任何指针。

我想补充一点,这是我第一次尝试使用 Xlib(或 PyGTK)编写 Python 应用程序。

python pygtk window xlib

5
推荐指数
1
解决办法
3047
查看次数

标签 统计

pygtk ×1

python ×1

window ×1

xlib ×1