c - XLib:全屏后如何返回窗口模式?

标签 c x11 xlib

我能够让我的应用全屏显示,但我无法让它返回到边框可见的窗口模式。我尝试调用 XDeleteProperty 清除全屏设置,但它似乎不起作用。

最佳答案

如果您使用 _NET_WM_STATE http://standards.freedesktop.org/wm-spec/latest/ar01s05.html#id2569140然后在映射窗口之前设置属性,但是在映射窗口之后您必须发送客户端消息并且窗口管理器更新属性。阅读 EWMH 中以“要更改映射窗口的状态,客户端必须向根窗口发送 _NET_WM_STATE 客户端消息...”开头的部分

这是因为一旦映射了窗口,窗口管理器就会负责维护其状态,如果应用程序和 WM 都可以直接修改属性,就会发生竞争。

请参阅 GTK+ 等工具包的源代码以获取示例代码。

关于c - XLib:全屏后如何返回窗口模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959610/

相关文章:

c - 初始化二维数组然后转置它

for 循环上的编译器错误

c - SDL 'no available video device' 错误且未检测到 x11

坐标传递给 XDrawImageString()

c - 使用xlib绘制边框(frame)

c - C语言对8位数字的算术运算过程

c++ - 我怎样才能 Eloquent 地写 "if not greater than or equal to some value"?

c++ - 剪贴板选择传输不起作用

haskell - 如何在 Haskell 中使用 Cairo 绘制 X11 Drawable

c - xlib半透明窗口背景