Xmonad KDE tray icons
При использовании Trayer, есть в Xmonad такая неприятная вещь, как непонимание некоторых "докнутых" KDE приложений. например Amarok1.4, kkbswitch, kvpnc, kxneur. Это проблема решается, но придется использовать stalonetray, а настраивать его чуточку дольше чем trayer. А именно: надо самостоятельно задать его геометрию.
~/.stalonetrayrc:geometry 168x24+1512-1026
no_shrink true
background black
У меня он в правом верхнем углу. Координаты и размеры нашел с помощью скриншота и Gimp, "-1023" это высоты экрана минус высота треера. Ну и еще я запретил ему рости, ибо слева от него я держу xmobar
Так же в конфиге xmonad.hs я его игнорирую и копирую на все раб. пространства:
toAll = ["stalonetray"] # NEW!
myIgnores = ["stalonetray"] # NEW!
mymyManageHook = composeAll . concat $
[ [ className =? c --> doF (W.shift "1") | c <- first]
, [ className =? c --> doF (W.shift "2") | c <- second]
, [ className =? c --> doF (W.shift "3") | c <- third]
, [ className =? c --> doF (W.shift "4") | c <- fourth]
, [ className =? c --> doF (W.shift "9") | c <- ninth]
, [ className =? c --> doF (copyToAll) | c <- toAll] # NEW!
, [ className =? c --> doFloat | c <- myFloats]
, [ wmrole =? r --> doFloat | r <- myFloats]
, [ className =? c --> doCenterFloat | c <- myCntrFloats]
, [ className =? c --> doIgnore | c <- myIgnores] # NEW!
, [ composeOne [ isFullscreen -?> doFullFloat, transience]]
]
myManageHook = mymyManageHook <+> manageMenus <+> manageDialogs # NEW!
main = do
xmproc <- spawnPipe "/usr/bin/xmobar ~/.xmonad/xmobar.conf"
xmonad $ defaultConfig
{ modMask = mod4Mask
-- hooks, layouts
, layoutHook = myLayouts
, manageHook = myManageHook # NEW!
, startupHook = setWMName "LG3D"
, logHook = dynamicLogWithPP $
xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 80
}
}
Запускаю его в xinitrc