Pārlūkot izejas kodu

~/.xmonad/xmonad.hs: Language switching shortcut, YAY! :)

Lucas Stadler 14 gadi atpakaļ
vecāks
revīzija
5646cb0707
1 mainītis faili ar 11 papildinājumiem un 1 dzēšanām
  1. 11 1
      .xmonad/xmonad.hs

+ 11 - 1
.xmonad/xmonad.hs

@ -4,7 +4,9 @@ import XMonad.Hooks.ManageDocks (manageDocks, avoidStruts)
4 4
import XMonad.Hooks.ManageHelpers
5 5
import XMonad.Layout.Tabbed (simpleTabbed)
6 6
import XMonad.Util.Run (spawnPipe)
7
import XMonad.Util.EZConfig (additionalKeys)
7 8
import System.IO (hPutStrLn)
9
import Data.IORef.MonadIO (newIORef, readIORef, modifyIORef)
8 10
9 11
import Monad (when)
10 12
import Data.Monoid (All (All))
@ -17,6 +19,7 @@ import qualified XMonad.StackSet as W
17 19
--  * Logging framework (like reading urls from Firefox and the like)
18 20
19 21
main = do
22
    kbMap <- newIORef "us"
20 23
    xmobar <- spawnPipe "xmobar"
21 24
    xmonad $ defaultConfig {
22 25
        modMask  = mod4Mask,
@ -34,7 +37,14 @@ main = do
34 37
            ppTitle = xmobarColor "green" ""
35 38
        },
36 39
        handleEventHook = evHook
37
   }
40
     } `additionalKeys` [
41
        ((mod4Mask, xK_l), changeKbMap kbMap)
42
     ]
43
  where changeKbMap kbMap = do
44
          kb <- readIORef kbMap
45
          let switchLang cur = if cur == "us" then "de" else "us"
46
          spawn $ "setxkbmap " ++ switchLang kb
47
          modifyIORef kbMap switchLang
38 48
39 49
evHook :: Event -> X All
40 50
evHook (ClientMessageEvent _ _ _ dpy win typ dat) = do