LINUX.ORG.RU

Сломались хоткеи в xmonad

 , ,


0

1

Пользовался 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.

начать с удаления пакетов, которые потянул этот будильник. Найти их можно в логах ПМ

f1u77y ★★★ ()

gnome

А гноме тут причём? Ты хмонадом сверху гнома пользуешься? Советую выкинуть гном вообще. systemctl disable gdm и запускать xmonad через startx

Bad_ptr ★★★★ ()
Последнее исправление: Bad_ptr (всего исправлений: 1)
Ответ на: комментарий от Bad_ptr

и запускать xmonad через startx

но зачем?

ы хмонадом сверху гнома пользуешься?

а что не так?

f1u77y ★★★ ()
Последнее исправление: f1u77y (всего исправлений: 1)
Ответ на: комментарий от Bad_ptr

А гноме тут причём?


Я подозреваю что будильник просто потянул за собой пакеты отвечающие за хоткеи в гноме, при этом они перехватывают нажатие клавиш раньше xmonad.



Советую выкинуть гном вообще.

Даже не устанавливал.

запускать xmonad через startx

Запускаю через XDM, почти тоже самое что и через startx

zoroaster ()
Ответ на: комментарий от zoroaster

У меня ноутбук с клавишей Fn. При нажатии Fn функциональные клавиши заменяются на кнопки управления звуком, яркостью экрана и т.д. Её можно заблокировать нажатием Fn+ESC, и тогда за функциональными клавишами закрепится эта роль. Очевидно, нужно было просто нажать Fn+ESC ещё раз. А я провозился с этим неделю, уже начал думать что проблема на уровне ядра. Короче: мне — стыдно, тему — в топку.

zoroaster ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.