summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.xmonad/.gitignore3
-rw-r--r--.xmonad/Makefile4
-rw-r--r--.xmonad/xmonad.hs59
3 files changed, 66 insertions, 0 deletions
diff --git a/.xmonad/.gitignore b/.xmonad/.gitignore
new file mode 100644
index 0000000..11a024e
--- /dev/null
+++ b/.xmonad/.gitignore
@@ -0,0 +1,3 @@
+*.o
+xmonad-x86_64-linux
+xmonad.hi
diff --git a/.xmonad/Makefile b/.xmonad/Makefile
new file mode 100644
index 0000000..bb0dcd9
--- /dev/null
+++ b/.xmonad/Makefile
@@ -0,0 +1,4 @@
+GHC := ghc
+
+xmonad-x86_64-linux: xmonad.hs
+ $(GHC) --make $^ -i -ilib -fforce-recomp -main-s main -v9 -o $@
diff --git a/.xmonad/xmonad.hs b/.xmonad/xmonad.hs
new file mode 100644
index 0000000..617ab53
--- /dev/null
+++ b/.xmonad/xmonad.hs
@@ -0,0 +1,59 @@
+--
+-- It overrides a few basic settings, reusing all other defaults.
+--
+
+import XMonad
+import XMonad.Actions.WindowGo
+import XMonad.Hooks.FadeInactive
+import XMonad.Hooks.ManageDocks
+import XMonad.Hooks.ManageHelpers
+import XMonad.Util.EZConfig
+
+import qualified XMonad.StackSet as W
+
+myLogHook :: X ()
+myLogHook = fadeOutLogHook fadeRules
+
+fadeRules :: Query Rational
+fadeRules = do
+ fullscreen <- isFullscreen
+ conkeror <- className =? "Conkeror"
+ chromium <- className =? "Chromium"
+ mplayer <- className =? "MPlayer"
+ return $ case () of _ | fullscreen -> 1
+ | conkeror -> 0.95
+ | chromium -> 1
+ | mplayer -> 1
+ | otherwise -> 0.9
+
+main = xmonad $ defaultConfig
+ { terminal = "urxvt"
+ , focusFollowsMouse = False
+ , clickJustFocuses = False
+ , modMask = mod4Mask
+ , layoutHook = avoidStruts $ layoutHook defaultConfig
+ , logHook = myLogHook
+ , manageHook = manageHook defaultConfig <+> manageDocks }
+ `additionalKeysP`
+ [
+ ("C-z ,", screenWorkspace 0 >>= flip whenJust (windows . W.view)),
+ ("C-z .", screenWorkspace 1 >>= flip whenJust (windows . W.view)),
+ ("C-z S-c", spawn "urxvt"),
+ ("C-z S-e", spawn "editor"),
+ ("C-z c", runOrRaiseNext "urxvt" (className =? "URxvt")),
+ ("C-z e", runOrRaiseNext "editor" (className =? "Emacs")),
+ ("C-z w", runOrRaiseNext "conkeror" (className =? "Conkeror")),
+ ("M-S-1", spawn "dmenu_run"),
+ ("M-n", windows W.focusDown),
+ ("M-p", windows W.focusUp),
+ ("M1-C-l", spawn "i3lock -c 000000"),
+ ("<XF86AudioPlay>", spawn "mpc toggle"),
+ ("<XF86AudioStop>", spawn "mcp stop"),
+ ("<XF86AudioMute>", spawn "amixer sset Master toggle"),
+ ("<XF86AudioLowerVolume>", spawn "mpc volume -5"),
+ ("<XF86AudioRaiseVolume>", spawn "mpc volume +5"),
+ ("<XF86AudioPrev>", spawn "mpc prev"),
+ ("<XF86AudioNext>", spawn "mpc next")
+ ]
+ `removeKeysP`
+ [ ("M-j"), ("M-k") ]