如何使用python xlib管理我的应用程序窗口?
我想找到一种linux范围(只要它使用X11)的方法来控制我的应用程序的窗口几何结构,我使用Python编程。我所有的研究都指向使用,这恰好是非常糟糕的记录 我想要实现的是:如何使用python xlib管理我的应用程序窗口?,python,linux,window,x11,xlib,Python,Linux,Window,X11,Xlib,我想找到一种linux范围(只要它使用X11)的方法来控制我的应用程序的窗口几何结构,我使用Python编程。我所有的研究都指向使用,这恰好是非常糟糕的记录 我想要实现的是: 定义窗口在屏幕上的位置 定义最小和最大尺寸 启用/禁用窗口大小调整 为窗口保留屏幕空间 把窗户放在上面/下面 跳过或不跳过任务栏(又名窗口列表) 设置窗户装饰/未装饰 设置窗口标志(正常、弹出、对话、飞溅、停靠、忽略) 注意:我不想用Xlib创建窗口,而是想告诉X如何处理我用一些GUI库(例如PyQt)创建的窗口 我该
- 定义窗口在屏幕上的位置
- 定义最小和最大尺寸
- 启用/禁用窗口大小调整
- 为窗口保留屏幕空间
- 把窗户放在上面/下面
- 跳过或不跳过任务栏(又名窗口列表)
- 设置窗户装饰/未装饰
- 设置窗口标志(正常、弹出、对话、飞溅、停靠、忽略)
编辑:n.m.的答案提供了大量资源,还有一个关于如何控制X显示的应用程序窗口的好例子。您需要知道的第一个关键字是ICCCM。您需要熟悉ICCCM手册(请参阅)及其FreeDesktop扩展(请参阅)。至于你的问题 我怎样才能抓住我的窗户
我不太明白。调用
create\u window
,函数返回窗口对象。还是说别的?谢谢,我会查一下医生的。通过“抓住窗口”,我的意思是:我想用PyGI、PyQt、PyWx或Kivy等工具在Python中创建我的窗口,然后我想在X正在管理的窗口中找到这个窗口,并告诉X这个窗口应该按照我想要的方式处理,例如,在屏幕上保留空间。所以我不想用xlib创建窗口,我只想告诉X窗口管理器如何使用它。我想我明白了。哈!ICCM看起来像是我需要开始的。我现在仍然需要一些特定于Python xlib的信息。create_window
返回一个类为window
的Python对象,该对象中应该包含一个低级窗口句柄a.k.a.窗口ID(一些整数)。您可能永远不应该直接使用此句柄。库应该将所有必要的服务包装在窗口
类的方法中,也可能包装在接受窗口
对象作为参数的一些其他函数中。