Пользовался xmonad, жил не тужил, пока однажды не приспичило мне поставить пакет alarm-clock из AUR. Оказалось то ещё дерьмо (удобнее написать скрипт-будильник), так ещё помимо этого он похоже испортил мне хоткеи. Теперь не работают комбинации с использованием функциональных клавиш, хотя xmonad.hs, в котором они прописаны, никак не изменился, а при нажатии Mod+F9 у меня вообще открывается wpa_supplicant_gui. Вот конфиг (извиняюсь за беспорядок, собирал его стихийно):
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys, additionalKeysP)
import XMonad.Layout.LayoutCombinators
import XMonad.Util.Dzen
import XMonad.Actions.Volume
import XMonad.Doc.Extending
import XMonad.Hooks.ManageHelpers
import System.IO
import XMonad.Layout.NoBorders
import Data.Map (fromList)
import Data.Monoid (mappend)
import XMonad.Actions.WindowGo
import XMonad.Util.Run
import XMonad.Hooks.EwmhDesktops (fullscreenEventHook)
myManageHook = composeAll
[ className =? "Gimp" --> doFloat
, className =? "Nautilus" --> doFloat
, className =? "htop" --> doFloat
, className =? "Wpa_gui" --> doFloat ]
alert = dzenConfig centered . show . round
centered = onCurr (center 150 66)
>=> font "-*-helvetica-*-r-*-*-64-*-*-*-*-*-*-*"
>=> addArgs ["-fg", "#80c0ff"]
>=> addArgs ["-bg", "#000040"]
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ defaultConfig
{ manageHook = manageDocks
<+> myManageHook
<+> (isFullscreen --> doFullFloat)
<+> manageHook defaultConfig
, layoutHook = smartBorders $ avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "blue" "" . shorten 50 }
, modMask = mod4Mask
, terminal = "urxvt"
, handleEventHook = fullscreenEventHook
} `additionalKeys`
[ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock")
, ((mod4Mask, xK_s), spawn "systemctl suspend")
, ((mod4Mask, xK_F1), lowerVolume 100 >>= alert)
, ((mod4Mask, xK_F2), lowerVolume 2 >>= alert)
, ((mod4Mask, xK_F3), raiseVolume 2 >>= alert)
, ((mod4Mask, xK_F10), spawn "xbacklight -set 100")
, ((mod4Mask, xK_F11), spawn "xbacklight -dec 5")
, ((mod4Mask, xK_F12), spawn "xbacklight -inc 5")
, ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
, ((0, xK_Print), spawn "scrot")
] `additionalKeysP`
[ ("M-b", (runOrRaiseMaster "chromium" (className =? "Chromium")) >> (sendMessage $ JumpToLayout "Full"))
, ("M-f", (runOrRaiseMaster "firefox" (className =? "Firefox")) >> (sendMessage $ JumpToLayout "Full"))
, ("M-n", (runOrRaiseMaster "nautilus" (className =? "Nautilus")) >> (sendMessage $ JumpToLayout "Full"))
, ("M-w", (runOrRaiseMaster "wpa_gui" (className =? "Wpa_gui")) >> (sendMessage $ JumpToLayout "Full"))
, ("M-o", (runOrRaiseMaster "urxvt htop" (className =? "htop")) >> (sendMessage $ JumpToLayout "Full")) ]
Подскажите хотя бы с чего начать. Я подозреваю что будильник просто потянул за собой пакеты отвечающие за хоткеи в гноме, при этом они перехватывают нажатие клавиш раньше xmonad.