xprop trayer говорит примерно следующее:
XdndAware(ATOM) = BITMAP
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_STICKY
_WIN_HINTS(CARDINAL) = 1
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
window id # of group leader: 0x1a00001
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x0, 0x0, 0x0
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 27262981
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x1a00004
WM_CLIENT_LEADER(WINDOW): window id # 0x1a00001
_NET_WM_PID(CARDINAL) = 19581
WM_LOCALE_NAME(STRING) = "en_US.utf8"
WM_CLIENT_MACHINE(STRING) = "LenovoT510"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 0, 0
program specified minimum size: 100 by 20
program specified maximum size: 100 by 20
window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "panel", "trayer"
WM_ICON_NAME(STRING) = "panel"
_NET_WM_ICON_NAME(UTF8_STRING) = "panel"
WM_NAME(STRING) = "panel"
_NET_WM_NAME(UTF8_STRING) = "panel"
Не совсем понятно отстутствие полей вида _NET_WM_STRUT.
Были бы _NET_WM_STRUT или _NET_WM_STRUT_PARTIAL, тогда avoidStruts понимал бы, что trayer нужно игнорировать.
Сперва грешил на xmonad-contrib-9999, но дело, видимо, не в нём. А в чём?
Для интересующихся, версия `trayer --version` == `trayer 1.0`.