如何使用 python Xlib 确定主显示?

问题描述 投票:0回答:0

我正在开发一个显示配置应用程序,并试图找出一种一致的方法来确定使用 Xlib 将哪个监视器设置为“主要”。

我正在使用以下方法收集属性:

info = {}
screen = display.Display(':0')
win = screen.screen( screen ).root
res = randr.get_screen_resources( win )
for output in res.outputs:
    props = screen.xrandr_list_output_properties(output)
    for atom in props.atoms:
        atom_name = screen.get_atom_name(atom)
        atom_info = screen.xrandr_get_output_property( output, atom, 0, 0, 1000).value[0]
        if isinstance( atom_info, int ):
            atom_info = screen.get_atom_name( atom_info )
        info[atom_name] = atom_info

我在我试过的两台计算机上都使用 Arch Linux KDE。我在我的笔记本电脑上发现了一个标记为“_KDE_SCREEN_INDEX”的原子名称,这似乎是我要找的东西,但这显然在其他 DE 中不可用,事实上什至没有出现在我的其他 KDE 设置中。我想如果我知道 xrandr 寻找什么来找到“主要”标志或其他什么,我可以在 Xlib 中弄清楚。我尝试搜索 X11 文档,但 Xlib 的文档不完整。我试图避免在我的应用程序中使用外部 xrandr 命令。在此先感谢您的帮助!

python x11 xlib
© www.soinside.com 2019 - 2024. All rights reserved.