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:
-
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 windowshell> xprop | grep MACHINE
-
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 windowshell> xprop | grep _NET_WM_STATE