qjackctl icon indicating copy to clipboard operation
qjackctl copied to clipboard

Windows opened by QJackCtl aren't shown in the xfce4 panel which makes it difficult to find QJackCtl windows

Open yurivict opened this issue 3 years ago • 4 comments

This is because QJackCtl sets two atoms that avoid it being shown in the panel or the alt-tab dialog, specifically _NET_WM_STATE_SKIP_PAGER and _NET_WM_STATE_SKIP_TASKBAR.

I reported this to XFCE4 and they diagnosed the issue in the above way: https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/468

This causes a very odd behavior: it makes it difficult to find QJackCtl windows.

yurivict avatar Apr 28 '21 17:04 yurivict

please check whether the qjackctl > Setup > Misc > Options > Keep child windows always on top option makes any difference; the behavior you describe seems to be in effect when this option is on.

rncbc avatar Apr 29 '21 06:04 rncbc

Current behavior:

  1. With "Keep child windows always on top" OFF the main window appears in the window list in xfce4 but the graph window doesn't.
  2. With "Keep child windows always on top" ON both windows disappear from the list.

IMO this is what the fix should be:

  1. The main window should not be affected by the above option and should always appear in the list.
  2. The graph window should disappear from the list when the above option is ON, and it should appear in the list with a slightly different icon (with a graph symbol added) when the above option is OFF.

yurivict avatar Apr 29 '21 18:04 yurivict

now all of that maybe reported back to the xfce WM... here it does it all as you tell at least under plasma5/kwin

rncbc avatar Apr 29 '21 22:04 rncbc

On my system both main and graph windows have same relevant attributes when the option is ON:

Main window:

$ cat qjackctl-main.txt
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x820000b
_NET_FRAME_EXTENTS(CARDINAL) = 5, 5, 29, 5
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_STICK
WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x47cbfa6d
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_SKIP_TASKBAR
WM_TRANSIENT_FOR(WINDOW): window id # 0x8200008
_NET_WM_ICON(CARDINAL) = 	Icon (32 x 32):
_NET_WM_ICON_NAME(UTF8_STRING) = 
XdndAware(ATOM) = BITMAP
WM_NAME(STRING) = "JACK Audio Connection Kit [(default)] Active."
_NET_WM_NAME(UTF8_STRING) = "JACK Audio Connection Kit [(default)] Active. — QjackCtl"
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_UTILITY, _NET_WM_WINDOW_TYPE_NORMAL
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
WM_CLIENT_LEADER(WINDOW): window id # 0x8200008
WM_HINTS(WM_HINTS):
		Client accepts input or input focus: True
		window id # of group leader: 0x8200008
WM_CLIENT_MACHINE(STRING) = "yv.noip.me"
_NET_WM_PID(CARDINAL) = 77847
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 136314887
WM_CLASS(STRING) = "qjackctl", "QjackCtl"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		user specified location: 5, 305
		user specified size: 464 by 100
		program specified minimum size: 280 by 100
		window gravity: Static

Graph window:

$ cat qjackctl-graph.txt 
_NET_FRAME_EXTENTS(CARDINAL) = 5, 5, 29, 5
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_STICK
WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x47cbfa6d
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_SKIP_TASKBAR
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x8200011
WM_TRANSIENT_FOR(WINDOW): window id # 0x8200006
_NET_WM_ICON(CARDINAL) = 	Icon (32 x 32):
_NET_WM_ICON_NAME(UTF8_STRING) = 
XdndAware(ATOM) = BITMAP
WM_NAME(STRING) = "Graph"
_NET_WM_NAME(UTF8_STRING) = "Graph — QjackCtl"
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_UTILITY, _NET_WM_WINDOW_TYPE_NORMAL
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
WM_CLIENT_LEADER(WINDOW): window id # 0x8200008
WM_HINTS(WM_HINTS):
		Client accepts input or input focus: True
		window id # of group leader: 0x8200008
WM_CLIENT_MACHINE(STRING) = "yv.noip.me"
_NET_WM_PID(CARDINAL) = 77847
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 136314896
WM_CLASS(STRING) = "qjackctl", "QjackCtl"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		user specified location: 74, 177
		user specified size: 1576 by 579
		program specified minimum size: 158 by 156
		window gravity: Static

yurivict avatar Apr 30 '21 02:04 yurivict