Last active
December 11, 2015 13:08
-
-
Save LeastFixedPoint/4605333 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import XMonad | |
import XMonad.Hooks.DynamicLog | |
import XMonad.Util.EZConfig(additionalKeys) | |
import XMonad.Layout.LayoutModifier | |
import qualified XMonad.StackSet as W | |
import XMonad.Hooks.EwmhDesktops | |
import XMonad.Hooks.ManageDocks (avoidStruts, manageDocks) | |
import XMonad.Actions.PhysicalScreens | |
import XMonad.Util.Run (spawnPipe) | |
import System.IO (hPutStrLn) | |
import Control.Monad ((>=>)) | |
main = xmonad =<< myAdditionalKeys =<< myBar defaultConfig | |
{ modMask = mod4Mask | |
, workspaces = [ name | (name, _, _) <- myWorkspaces ] | |
, manageHook = myManageHook <+> manageHook defaultConfig | |
, handleEventHook = fullscreenEventHook | |
} | |
data MyScreen = A | L | R deriving (Eq, Enum) | |
myWorkspaces = | |
[ ("h", R, xK_1) | |
, ("w", R, xK_2) | |
, ("t", L, xK_3) | |
, ("e", A, xK_4) | |
, ("s", A, xK_5) | |
, ("6", A, xK_6) | |
, ("7", A, xK_7) | |
] | |
myWsOn screen = [ ws | ws@(_, s, _) <- myWorkspaces, s == screen ] | |
myManageHook = composeAll | |
[ className =? "Gnome-terminal" --> doShift "t" | |
, className =? "Eclipse" --> doShift "e" | |
, (role =? "gimp-toolbox" <||> role =? "gimp-image-window") --> (ask >>= doF . W.sink) | |
] | |
where role = stringProperty "WM_WINDOW_ROLE" | |
myAdditionalKeys = (.) return $ flip additionalKeys $ | |
[ ((mod4Mask, xK_F12), spawn "setxkbmap us && xscreensaver-command -lock && set-kb-layout") | |
, ((mod4Mask, xK_Print), spawn "scrot /tmp/screenshot.png") | |
] -- ++ [ ((mod4Mask, key), (viewScreen (fromEnum L)) >> (windows $ W.greedyView wid)) | (wid, screen, key) <- myWorkspaces ] | |
myBar conf = do | |
hBarL <- spawnPipe "xmobar -x 0" | |
hBarR <- spawnPipe "xmobar -x 1" | |
return $ conf | |
{ layoutHook = avoidStruts (layoutHook conf) | |
, logHook = do | |
logHook conf | |
dynamicLogWithPP xmobarPP | |
{ ppOutput = \s -> hPutStrLn hBarL s >> hPutStrLn hBarR s | |
, ppCurrent = xmobarColor "#429942" "" | |
} | |
, manageHook = manageHook conf <+> manageDocks | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment