Keybinding to print screen
ff57455fd233f530988c799b4abd93c03db4ae02
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 | ] |