Xlib Linux判断程序窗口是否为最小化
2021/10/20 7:11:16
本文主要是介绍Xlib Linux判断程序窗口是否为最小化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
最近在开发linux窗口捕获,XLib下最小化的窗口不能够捕获到画面,需要将最小化的程序剔除出程序列表。
根据 https://specifications.freedesktop.org/wm-spec/1.3/ar01s05.html 查阅,窗口的属性由 _NET_WM_STATE 获取。
需要用到的头文件有
#include <X11/Xlib.h> #include <X11/Xatom.h> //XA_ATOM
完整代码:
1 bool IsAppMinimized(Display *display, Window window) 2 { 3 Atom _NET_WM_STATE = XInternAtom(display, "_NET_WM_STATE", false); 4 Atom _NET_WM_STATE_HIDDEN = XInternAtom(display, "_NET_WM_STATE_HIDDEN", false); 5 Atom actual_type; 6 int actual_format; 7 unsigned long i, num_items, bytes_after; 8 9 Atom *atoms=nullptr; 10 XGetWindowProperty(display, window, _NET_WM_STATE, 0, 1024, False, XA_ATOM, &actual_type, &actual_format, &num_items, &bytes_after, (unsigned char**)&atoms); 11 for(i=0; i<num_items; ++i) 12 { 13 if(atoms[i]==_NET_WM_STATE_HIDDEN) 14 { 15 XFree(atoms); 16 return true; 17 } 18 } 19 XFree(atoms); 20 21 return false; 22 }
这篇关于Xlib Linux判断程序窗口是否为最小化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法