Просмотр исходного кода

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

Lucas Stadler лет назад: 14
Родитель
Сommit
5646cb0707
1 измененных файлов с 11 добавлено и 1 удалено
  1. 11 1
      .xmonad/xmonad.hs

+ 11 - 1
.xmonad/xmonad.hs

4
import XMonad.Hooks.ManageHelpers
4
import XMonad.Hooks.ManageHelpers
5
import XMonad.Layout.Tabbed (simpleTabbed)
5
import XMonad.Layout.Tabbed (simpleTabbed)
6
import XMonad.Util.Run (spawnPipe)
6
import XMonad.Util.Run (spawnPipe)
7
import XMonad.Util.EZConfig (additionalKeys)
7
import System.IO (hPutStrLn)
8
import System.IO (hPutStrLn)
9
import Data.IORef.MonadIO (newIORef, readIORef, modifyIORef)
8
10
9
import Monad (when)
11
import Monad (when)
10
import Data.Monoid (All (All))
12
import Data.Monoid (All (All))
17
--  * Logging framework (like reading urls from Firefox and the like)
19
--  * Logging framework (like reading urls from Firefox and the like)
18
20
19
main = do
21
main = do
22
    kbMap <- newIORef "us"
20
    xmobar <- spawnPipe "xmobar"
23
    xmobar <- spawnPipe "xmobar"
21
    xmonad $ defaultConfig {
24
    xmonad $ defaultConfig {
22
        modMask  = mod4Mask,
25
        modMask  = mod4Mask,
34
            ppTitle = xmobarColor "green" ""
37
            ppTitle = xmobarColor "green" ""
35
        },
38
        },
36
        handleEventHook = evHook
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
evHook :: Event -> X All
49
evHook :: Event -> X All
40
evHook (ClientMessageEvent _ _ _ dpy win typ dat) = do
50
evHook (ClientMessageEvent _ _ _ dpy win typ dat) = do