|
1 | | -import Sunwm.Core |
2 | | -import Sunwm.STree |
3 | | - |
4 | | -import Graphics.X11.Types |
5 | 1 | import Data.Bits hiding (shift) |
6 | 2 | import qualified Data.Map.Strict as M |
| 3 | +import Graphics.X11.Types |
| 4 | +import Sunwm.Core |
| 5 | +import Sunwm.STree |
7 | 6 |
|
8 | 7 | main :: IO () |
9 | 8 | main = sunwm defaultConfig [] |
10 | 9 |
|
11 | | -workspaceNames:: [String] |
12 | | -workspaceNames = map show ([1..9] :: [Integer]) |
| 10 | +workspaceNames :: [String] |
| 11 | +workspaceNames = map show ([1 .. 9] :: [Integer]) |
13 | 12 |
|
14 | 13 | defaultConfig :: UserConf |
15 | | -defaultConfig = UserConf { |
16 | | - _normalBorder = "rgb:4f/4f/4f", |
17 | | - _focusedBorder = "rgb:ff/00/00", |
18 | | - _borderWidth = 1, |
19 | | - _keyBinds = defaultKeys, |
20 | | - _topKeyBinds = defaultTopKeys, |
21 | | - _wsNames = workspaceNames, |
22 | | - _prefixKey = (controlMask, xK_t), |
23 | | - _terminal = "xterm", |
24 | | - _initHook = return (), |
25 | | - _stackHook = return () |
| 14 | +defaultConfig = |
| 15 | + UserConf |
| 16 | + { _normalBorder = "rgb:4f/4f/4f", |
| 17 | + _focusedBorder = "rgb:ff/00/00", |
| 18 | + _borderWidth = 1, |
| 19 | + _keyBinds = defaultKeys, |
| 20 | + _topKeyBinds = defaultTopKeys, |
| 21 | + _wsNames = workspaceNames, |
| 22 | + _prefixKey = (controlMask, xK_t), |
| 23 | + _terminal = "xterm", |
| 24 | + _initHook = return (), |
| 25 | + _stackHook = return () |
26 | 26 | } |
27 | 27 |
|
28 | 28 | defaultKeys :: M.Map (KeyMask, KeySym) (SUN ()) |
29 | | -defaultKeys = M.fromList |
30 | | - [ ((0, xK_l), focusTo R) |
31 | | - , ((0, xK_h), focusTo L) |
32 | | - , ((0, xK_j), focusTo D) |
33 | | - , ((0, xK_k), focusTo U) |
34 | | - , ((0, xK_v), splitV 0.5) |
35 | | - , ((0, xK_n), splitH 0.5) |
36 | | - , ((shiftMask, xK_h), swapToDir L) |
37 | | - , ((shiftMask, xK_l), swapToDir R) |
38 | | - , ((shiftMask, xK_k), swapToDir U) |
39 | | - , ((shiftMask, xK_j), swapToDir D) |
40 | | - , ((0, xK_o), raiseHidden R) |
41 | | - , ((0, xK_i), raiseHidden L) |
42 | | - , ((0, xK_r), removeFrame) |
43 | | - , ((0, xK_c), spawnTerminal) |
44 | | - , ((0, xK_e), makeOnly) |
45 | | - , ((0, xK_q), killWindow) |
46 | | - , ((0, xK_b), banish) |
47 | | - , ((0, xK_Escape), return ()) |
48 | | - , ((0, xK_equal), equalize) |
49 | | - , ((0, xK_slash), flipT) |
50 | | - , ((mod1Mask, xK_h), shiftTo L) |
51 | | - , ((mod1Mask, xK_l), shiftTo R) |
52 | | - , ((mod1Mask, xK_j), shiftTo D) |
53 | | - , ((mod1Mask, xK_k), shiftTo U) |
| 29 | +defaultKeys = |
| 30 | + M.fromList |
| 31 | + [ ((0, xK_l), focusTo R), |
| 32 | + ((0, xK_h), focusTo L), |
| 33 | + ((0, xK_j), focusTo D), |
| 34 | + ((0, xK_k), focusTo U), |
| 35 | + ((0, xK_v), splitV 0.5), |
| 36 | + ((0, xK_n), splitH 0.5), |
| 37 | + ((shiftMask, xK_h), swapToDir L), |
| 38 | + ((shiftMask, xK_l), swapToDir R), |
| 39 | + ((shiftMask, xK_k), swapToDir U), |
| 40 | + ((shiftMask, xK_j), swapToDir D), |
| 41 | + ((0, xK_o), raiseHidden R), |
| 42 | + ((0, xK_i), raiseHidden L), |
| 43 | + ((0, xK_r), removeFrame), |
| 44 | + ((0, xK_c), spawnTerminal), |
| 45 | + ((0, xK_e), makeOnly), |
| 46 | + ((0, xK_q), killWindow), |
| 47 | + ((0, xK_b), banish), |
| 48 | + ((0, xK_Escape), return ()), |
| 49 | + ((0, xK_equal), equalize), |
| 50 | + ((0, xK_slash), flipT), |
| 51 | + ((mod1Mask, xK_h), shiftTo L), |
| 52 | + ((mod1Mask, xK_l), shiftTo R), |
| 53 | + ((mod1Mask, xK_j), shiftTo D), |
| 54 | + ((mod1Mask, xK_k), shiftTo U) |
54 | 55 | ] |
55 | 56 |
|
56 | 57 | defaultTopKeys :: M.Map (KeyMask, KeySym) (SUN ()) |
57 | | -defaultTopKeys = M.fromList $ |
58 | | - [ ((mod1Mask .|. shiftMask, xK_j), resizeFrame D 0.02) |
59 | | - , ((mod1Mask .|. shiftMask, xK_k), resizeFrame U 0.02) |
60 | | - , ((mod1Mask .|. shiftMask, xK_l), resizeFrame R 0.02) |
61 | | - , ((mod1Mask .|. shiftMask, xK_h), resizeFrame L 0.02) |
62 | | - , ((mod4Mask, xK_Tab), toggleScr) |
63 | | - , ((mod1Mask, xK_Tab), toggleWS) |
64 | | - , ((mod1Mask .|. shiftMask, xK_q), quit) |
65 | | - ] ++ workspaceSendBinds ++ workspaceMoveBinds |
| 58 | +defaultTopKeys = |
| 59 | + M.fromList $ |
| 60 | + [ ((mod1Mask .|. shiftMask, xK_j), resizeFrame D 0.02), |
| 61 | + ((mod1Mask .|. shiftMask, xK_k), resizeFrame U 0.02), |
| 62 | + ((mod1Mask .|. shiftMask, xK_l), resizeFrame R 0.02), |
| 63 | + ((mod1Mask .|. shiftMask, xK_h), resizeFrame L 0.02), |
| 64 | + ((mod4Mask, xK_Tab), toggleScr), |
| 65 | + ((mod1Mask, xK_Tab), toggleWS), |
| 66 | + ((mod1Mask .|. shiftMask, xK_q), quit) |
| 67 | + ] |
| 68 | + ++ workspaceSendBinds |
| 69 | + ++ workspaceMoveBinds |
66 | 70 |
|
67 | | -workspaceMoveBinds :: [((KeyMask, KeySym),SUN ())] |
68 | | -workspaceMoveBinds = map (\(k,n) -> ((mod1Mask, k), changeWS n)) |
69 | | - $ zip [xK_1..] [1..length workspaceNames] |
| 71 | +workspaceMoveBinds :: [((KeyMask, KeySym), SUN ())] |
| 72 | +workspaceMoveBinds = |
| 73 | + zipWith (\k n -> ((mod1Mask, k), changeWS n)) [xK_1 ..] [1 .. length workspaceNames] |
70 | 74 |
|
71 | | -workspaceSendBinds :: [((KeyMask, KeySym),SUN ())] |
72 | | -workspaceSendBinds = map (\(k,n) -> ((mod1Mask .|. shiftMask, k), moveWinToWS n)) |
73 | | - $ zip [xK_1..] [1..length workspaceNames] |
| 75 | +workspaceSendBinds :: [((KeyMask, KeySym), SUN ())] |
| 76 | +workspaceSendBinds = |
| 77 | + zipWith (\k n -> ((mod1Mask .|. shiftMask, k), moveWinToWS n)) [xK_1 ..] [1 .. length workspaceNames] |
0 commit comments