Keybinding to print screen

ff57455fd233f530988c799b4abd93c03db4ae02
Alexis Sellier committed ago 1 parent 3c131115
.xmonad/xmonad.hs +16 -11
2 2
import XMonad.Config.Desktop
3 3
import XMonad.Hooks.DynamicLog
4 4
import XMonad.Hooks.ManageDocks
5 5
import XMonad.Util.Run
6 6
7 +
import System.Directory
8 +
import Text.Printf
7 9
import Data.Map (Map)
8 10
import qualified Data.Map as Map
9 11
10 12
main :: IO ()
11 -
main = xmonad =<< statusBar "xmobar" barConfig toggleStrutsKey desktopConfig
12 -
     { terminal           = "st dvtm -M"
13 -
     , focusedBorderColor = "#666666"
14 -
     , normalBorderColor  = "black"
15 -
     , borderWidth        = 2
16 -
     , handleEventHook    = mconcat [docksEventHook, handleEventHook def]
17 -
     , keys               = myKeys
18 -
     }
13 +
main = do
14 +
    home <- getHomeDirectory
15 +
    xmonad =<< statusBar "xmobar" barConfig toggleStrutsKey desktopConfig
16 +
        { terminal           = "st dvtm -M"
17 +
        , focusedBorderColor = "#666666"
18 +
        , normalBorderColor  = "black"
19 +
        , borderWidth        = 2
20 +
        , handleEventHook    = mconcat [docksEventHook, handleEventHook def]
21 +
        , keys               = myKeys home
22 +
        }
19 23
20 24
barConfig :: PP
21 25
barConfig = xmobarPP
22 26
    { ppCurrent         = xmobarColor white   black  . wrap " " " "
23 27
    , ppHiddenNoWindows = xmobarColor light   dark   . wrap " " " "
34 38
    dark  = "#333333"
35 39
36 40
toggleStrutsKey :: XConfig t -> (KeyMask, KeySym)
37 41
toggleStrutsKey XConfig { XMonad.modMask = modMask } = (modMask, xK_b)
38 42
39 -
myKeys :: XConfig Layout -> Map (KeyMask, KeySym) (X ())
40 -
myKeys conf@XConfig { XMonad.modMask = modMask } =
43 +
myKeys :: FilePath -> XConfig Layout -> Map (KeyMask, KeySym) (X ())
44 +
myKeys home conf@XConfig { XMonad.modMask = modMask } =
41 45
    Map.union (XMonad.keys def conf) ks
42 46
  where
43 47
    ks = Map.fromList
44 -
       [ ((modMask, xK_F12), safeSpawn "systemctl" ["suspend"])
48 +
       [ ((modMask, xK_F12),     safeSpawn "systemctl" ["suspend"])
49 +
       , ((noModMask, xK_Print), spawn $ printf "scrot -u -e 'mv $f %s/screenshots'" home)
45 50
       ]