我希望找到一种适用于Linux(使用X11)的方法来控制我使用Python编程的应用程序的窗口几何。所有的研究都指向使用python-xlib,但该文档非常不完善。
我想要实现的目标是:
- 定义窗口在屏幕上的位置 - 定义最小和最大尺寸 - 启用/禁用窗口调整大小 - 保留屏幕空间以供窗口使用 - 使窗口保持在上方/下方 - 跳过或不跳过任务栏(也称为窗口列表) - 设置窗口装饰/无装饰 - 设置窗口标志(正常、弹出、对话框、闪屏、停靠、忽略)
注:我不想使用Xlib创建窗口,而是想告诉X如何处理我使用某些GUI库(例如PyQt)创建的窗口。
我该怎么做?我意识到这个问题相当大:您是否至少有提示,可以让我获得我的窗口?在模块的哪个位置可以找到答案?
我想要实现的目标是:
- 定义窗口在屏幕上的位置 - 定义最小和最大尺寸 - 启用/禁用窗口调整大小 - 保留屏幕空间以供窗口使用 - 使窗口保持在上方/下方 - 跳过或不跳过任务栏(也称为窗口列表) - 设置窗口装饰/无装饰 - 设置窗口标志(正常、弹出、对话框、闪屏、停靠、忽略)
注:我不想使用Xlib创建窗口,而是想告诉X如何处理我使用某些GUI库(例如PyQt)创建的窗口。
我该怎么做?我意识到这个问题相当大:您是否至少有提示,可以让我获得我的窗口?在模块的哪个位置可以找到答案?
编辑: n.m.的答案提供了很好的资源,还有Unix StackExchange上的另一个Q&A,其中提供了一个很好的示例,说明如何控制由X显示的应用程序窗口。
create_window
返回一个 Python 类Window
的对象,该对象应包含一个底层窗口句柄,也称为窗口 ID(一些整数)。您可能永远不应直接使用此句柄。库应在Window
类的方法中封装所有必要的服务,并且可能在几个其他函数中接受Window
对象作为参数。 - n. m.