icccm

How to identify top-level X11 windows using xlib?

半城伤御伤魂 提交于 2019-12-17 15:36:43
问题 I'm trying to get a list of all top level desktop windows in an X11 session. Basically, I want to get a list of all windows that are shown in the window managers application-switching UI (commonly opened when the user presses ALT+TAB). I've never done any X11 programming before, but so far I've managed to enumerate through the entire window list, with code that looks something like this: void CSoftwareInfoLinux::enumerateWindows(Display *display, Window rootWindow) { Window parent; Window

X11: list top level windows

吃可爱长大的小学妹 提交于 2019-12-10 10:08:13
问题 So far I've found two approaches: For each root window (default screen, specific screen, all screens, etc), list each immediate child. Search each immediate child recursively for a window with the WM_STATE property; that window becomes the top-level application window of the immediate child and all recursion can stop. If no window within the hierarchy of the immediate child has the WM_STATE property, assume the immediate child is itself the top-level application window. Use xcb_get_property ,

X11: list top level windows

一笑奈何 提交于 2019-12-06 01:42:59
So far I've found two approaches: For each root window (default screen, specific screen, all screens, etc), list each immediate child. Search each immediate child recursively for a window with the WM_STATE property; that window becomes the top-level application window of the immediate child and all recursion can stop. If no window within the hierarchy of the immediate child has the WM_STATE property, assume the immediate child is itself the top-level application window. Use xcb_get_property , and xcb_query_tree (which despite the name lists only immediate children). This is what xlsclients

How to identify top-level X11 windows using xlib?

依然范特西╮ 提交于 2019-11-27 19:30:52
I'm trying to get a list of all top level desktop windows in an X11 session. Basically, I want to get a list of all windows that are shown in the window managers application-switching UI (commonly opened when the user presses ALT+TAB). I've never done any X11 programming before, but so far I've managed to enumerate through the entire window list, with code that looks something like this: void CSoftwareInfoLinux::enumerateWindows(Display *display, Window rootWindow) { Window parent; Window *children; Window *child; quint32 nNumChildren; XTextProperty wmName; XTextProperty wmCommand; int status