Xmonad/Config archive/TeXitoi's xmonad.hs
From HaskellWiki
< Xmonad | Config archive(Difference between revisions)
| (One intermediate revision not shown.) | |||
| Line 1: | Line 1: | ||
[[Category:XMonad configuration]] | [[Category:XMonad configuration]] | ||
<haskell> | <haskell> | ||
| - | import XMonad | + | import XMonad hiding (Tall) |
import XMonad.Config.Desktop | import XMonad.Config.Desktop | ||
import XMonad.Hooks.FadeInactive | import XMonad.Hooks.FadeInactive | ||
import XMonad.Hooks.SetWMName | import XMonad.Hooks.SetWMName | ||
import XMonad.Layout.NoBorders | import XMonad.Layout.NoBorders | ||
| - | import | + | import XMonad.Layout.HintedTile |
import qualified Data.Map as M | import qualified Data.Map as M | ||
import qualified XMonad.StackSet as W | import qualified XMonad.StackSet as W | ||
| - | |||
main = xmonad desktopConfig { | main = xmonad desktopConfig { | ||
modMask = mod4Mask, | modMask = mod4Mask, | ||
terminal = "urxvtc", | terminal = "urxvtc", | ||
| - | keys = \c -> | + | keys = \c -> myKeys c `M.union` keys desktopConfig c, |
| - | + | startupHook = startupHook desktopConfig >> setWMName "LG3D", | |
| + | logHook = logHook desktopConfig >> fadeInactiveLogHook 0xcccccccc, | ||
layoutHook = desktopLayoutModifiers . smartBorders $ tiled ||| Full, | layoutHook = desktopLayoutModifiers . smartBorders $ tiled ||| Full, | ||
manageHook = myManageHook <+> manageHook desktopConfig, | manageHook = myManageHook <+> manageHook desktopConfig, | ||
| Line 23: | Line 23: | ||
} | } | ||
| - | tiled = | + | tiled = HintedTile 1 0.03 0.5 TopLeft Tall |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | myKeys conf@(XConfig {modMask = modm}) = M.fromList $ | |
[((modm, xK_semicolon), sendMessage (IncMasterN (-1))), | [((modm, xK_semicolon), sendMessage (IncMasterN (-1))), | ||
((mod1Mask, xK_Tab), windows W.focusDown), | ((mod1Mask, xK_Tab), windows W.focusDown), | ||
((mod1Mask .|. shiftMask, xK_Tab), windows W.focusUp), | ((mod1Mask .|. shiftMask, xK_Tab), windows W.focusUp), | ||
| - | ((mod4Mask, xK_i), sendMessage NextLayout)] | + | ((mod4Mask, xK_i), sendMessage NextLayout)] ++ |
| - | + | [((m .|. modm, k), windows $ f i) | |
| - | [((m .|. modm, k), windows $ f i) | + | | (i, k) <- zip (workspaces conf) numBepo, |
| - | | (i, k) <- zip (workspaces conf) | + | |
(f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] | (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] | ||
| - | + | numBepo = [0x22,0xab,0xbb,0x28,0x29,0x40,0x2b,0x2d,0x2f,0x2a] | |
| - | + | numAzerty = [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0] | |
| - | myManageHook = composeAll | + | myManageHook = composeAll [className =? c --> doShift w | (w, cs) <- wcs, c <- cs] |
| - | + | where wcs = [("2", ["Midori", "Firefox"]), | |
| - | + | ("3", ["Gajim.py"]), | |
| - | + | ("4", ["Claws-mail"]), | |
| + | ("5", ["Gmpc"])] | ||
</haskell> | </haskell> | ||
Current revision
import XMonad hiding (Tall) import XMonad.Config.Desktop import XMonad.Hooks.FadeInactive import XMonad.Hooks.SetWMName import XMonad.Layout.NoBorders import XMonad.Layout.HintedTile import qualified Data.Map as M import qualified XMonad.StackSet as W main = xmonad desktopConfig { modMask = mod4Mask, terminal = "urxvtc", keys = \c -> myKeys c `M.union` keys desktopConfig c, startupHook = startupHook desktopConfig >> setWMName "LG3D", logHook = logHook desktopConfig >> fadeInactiveLogHook 0xcccccccc, layoutHook = desktopLayoutModifiers . smartBorders $ tiled ||| Full, manageHook = myManageHook <+> manageHook desktopConfig, workspaces = map show [1..8], focusedBorderColor = "#729fcf", normalBorderColor = "#aaaaaa" } tiled = HintedTile 1 0.03 0.5 TopLeft Tall myKeys conf@(XConfig {modMask = modm}) = M.fromList $ [((modm, xK_semicolon), sendMessage (IncMasterN (-1))), ((mod1Mask, xK_Tab), windows W.focusDown), ((mod1Mask .|. shiftMask, xK_Tab), windows W.focusUp), ((mod4Mask, xK_i), sendMessage NextLayout)] ++ [((m .|. modm, k), windows $ f i) | (i, k) <- zip (workspaces conf) numBepo, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] numBepo = [0x22,0xab,0xbb,0x28,0x29,0x40,0x2b,0x2d,0x2f,0x2a] numAzerty = [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0] myManageHook = composeAll [className =? c --> doShift w | (w, cs) <- wcs, c <- cs] where wcs = [("2", ["Midori", "Firefox"]), ("3", ["Gajim.py"]), ("4", ["Claws-mail"]), ("5", ["Gmpc"])]
