Why wmctrl doesn't work for certain windows?

Solution 1:

it's definitely a bug in wmctrl.
after digging around wmctrl code, it seems that the bug is in translating window name strings to the corresponding Window ID (or XID). so wmctrl -r "window name" -b add,above is not reliable.

as a workaround, use XID instead, i.e. wmctrl -i -r window_id -b add,above. in your case , wmctrl -i -r 0x0520000b -b add,above should work.

most window management facilities are implemented as X window Properties. you can view all the properties of a window by a command -- xprop.

NOTE:

  1. Windows that have the machine name column as N/A. the machine name property is WM_CLIENT_MACHINE. it's rarely used. and some GUI toolkits may not implement them.
    you can view a window's machine name property by run following command line and click the window

    shell> xprop | grep MACHINE
    
  2. As for Always On Top, it's another property value _NET_WM_STATE_ABOVE.
    to check it yourself, run following command line and click the window

    shell> xprop | grep _NET_WM_STATE