【发布时间】:2015-04-10 20:04:58
【问题描述】:
我有两台显示器连接到我在 linux 中的桌面会话。我想在鼠标光标所在的屏幕上弹出一个 gtk 窗口。有时是监视器 1,有时是监视器 2。弹出窗口很简单,但我如何确定哪个监视器包含鼠标指针?我遇到了各种从 python 中调用xrandr 的示例,但我希望在 Python 中有一种更综合的方法。
【问题讨论】:
我有两台显示器连接到我在 linux 中的桌面会话。我想在鼠标光标所在的屏幕上弹出一个 gtk 窗口。有时是监视器 1,有时是监视器 2。弹出窗口很简单,但我如何确定哪个监视器包含鼠标指针?我遇到了各种从 python 中调用xrandr 的示例,但我希望在 Python 中有一种更综合的方法。
【问题讨论】:
它很大程度上取决于您的设置,这就是为什么“集成”方法相当困难的原因。 X 上的多个显示器非常混乱。
假设您使用的是 twinview,那么 X 屏幕基本上只是 1 个屏幕,那么显示器有什么关系呢?
from Xlib import display
data = display.Display().screen().root.query_pointer()._data
locationtuple = (data["root_x"], data["root_y"])
如果您使用的是 Twinview,这应该可以工作。
【讨论】: