Пользовался 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.Actions.Plane
--import XMonad.Actions.Promote
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"
--chrproc <- spawnPipe "chromium"
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"
{-, keys = keys defaultConfig `mappend`
\c -> fromList [
((0, (mod4Mask, xK_F6)), lowerVolume 4 >>= alert),
((0, (mod4Mask, xK_F7)), raiseVolume 4 >>= alert)
]-}
, 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.