我正在开发一个系统,我希望阻止最终用户移动/调整窗口大小。因此,我目前正在启动X11服务器和我的图形应用程序(名为app1)而没有窗口管理器。
现在我需要在app1上启动另一个图形应用程序(app2)。 我已经完成了一些测试,似乎X11的行为是将每个新创建的窗口堆叠在之前的窗口之上。同时单击窗口不会使其聚焦或相对于其他窗口更改其“z”位置。
我想知道这是否是默认的X11行为(是否在某处记录?)以及它是否可调?
米卡
答案 0 :(得分:2)
嗯,您的问题有一些问题。 X服务器不管理Windows。似乎最后一个映射将所有焦点和堆栈放在顶部。听起来您实际上想要在此处执行的操作是制作自己的WM,但处理不多。周围有太多的仓库管理器,它们以多种不同的方式处理事务,并且可以自定义很多,因此您可能会找到适合自己需求的仓库管理器。例如,Compiz本身不提供任何窗口装饰,并且您可以禁用几乎所有的键盘和鼠标绑定,并可以通过多种方式设置焦点策略和窗口位置。还有一些WM,例如“ Awesome”和“ ratpoison”,我认为它们只是平铺窗口,并且可能被设置为非常不可见。基本上,如果您有两个窗口都需要键盘/鼠标输入之类的东西,则需要以某种方式对其进行管理,这是通过窗口管理器完成的。