Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 通过Xlib实现窗口图标化状态_C++_X11_Xlib - Fatal编程技术网

C++ 通过Xlib实现窗口图标化状态

C++ 通过Xlib实现窗口图标化状态,c++,x11,xlib,C++,X11,Xlib,是否可以仅通过纯X11/Xlib检查,给定窗口是否图标化/最小化,如果是,如何检查?似乎是首选方法 还有函数XGetZoomHints(),但它似乎已被弃用。是的。有几种方法可以做到这一点: 读取_NET_WM_STATE属性并检查其内容(如“”中所述)。有关代码,请参见一些WindowManager(或我想到的),了解如何执行此操作 阅读WM_STATE属性并检查其内容(如中所述) 这并不是我所需要的(如果我是对的,xGetWMHitts()只允许检查窗口的初始参数,而不是当前参数)。所以,

是否可以仅通过纯X11/Xlib检查给定窗口是否图标化/最小化,如果是,如何检查?

似乎是首选方法


还有函数
XGetZoomHints()
,但它似乎已被弃用。

是的。有几种方法可以做到这一点:

  • 读取_NET_WM_STATE属性并检查其内容(如“”中所述)。有关代码,请参见一些WindowManager(或我想到的),了解如何执行此操作

  • 阅读WM_STATE属性并检查其内容(如中所述)


这并不是我所需要的(如果我是对的,xGetWMHitts()只允许检查窗口的初始参数,而不是当前参数)。所以,经过一些紧张的思考后,我想到了这个,至少在大多数情况下应该是有效的:我建议尝试一下,并将其与未映射状态进行比较。还可以尝试检查其缩放状态。我不是X11专家,所以我不知道哪一个是最可靠的。请记住,不同的窗口管理器处理图标化的方式不同。