Search code examples
linuxbashxorgwindow-managers

Getting `xprop` of child/client window given X ID of frame


I'd like to run the command xprop -id [window_id].

However, assume that for some odd reason, I only have access to the window_id of the frame for the window I'm after(i.e. the window manager's frame for the window as opposed to the window itself).

How can I tell xprop that the -id is for the frame not the client window, and that I want the client window? Sort of the inverse to xprop -frame which will grab the information for the window you click on's frame as opposed to the window.

Am I stuck with somehow parsing xwininfo -children [frame_id] to extract the child window id to pass that into xprop?


Solution

  • I ended up just doing:

    xprop -id `xwininfo -children -id [frame_id] | grep -o '^ \+0x[0-9a-f]\+'`
    

    The xwininfo -children -id [frame_id] lists the children and the grep extracts the child ID (for my particular problem I may assume there is just one child per frame).