aboutsummaryrefslogtreecommitdiffstats
path: root/x11-wm/xmonad/files/config-extensions.patch
blob: 91e89643137ff7a4f73ab3432c8e69062455e511 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
--- Config.hs-orig	2007-09-06 03:40:47.000000000 +0000
+++ Config.hs	2007-09-06 03:51:19.000000000 +0000
@@ -29,6 +29,88 @@
 import System.Exit
 import Graphics.X11.Xlib
 
+-- Extension-provided imports
+--   For extension Accordion:
+--import XMonadContrib.Accordion
+--   For extension Anneal:
+--import XMonadContrib.Anneal
+--   For extension Circle:
+--import XMonadContrib.Circle
+--   For extension Combo:
+--import XMonadContrib.Combo
+--import XMonadContrib.SimpleStacking
+--   For extension Commands:
+--import XMonadContrib.Commands
+--   For extension CopyWindow:
+--import XMonadContrib.CopyWindow
+--   For extension DeManage:
+--import XMonadContrib.DeManage
+--   For extension Dmenu:
+--import XMonadContrib.Dmenu
+--   For extension DragPane:
+--import XMonadContrib.DragPane
+--   For extension DwmPromote:
+--import XMonadContrib.DwmPromote
+--   For extension DynamicLog:
+--import XMonadContrib.DynamicLog
+--   For extension FindEmptyWorkspace:
+--import XMonadContrib.FindEmptyWorkspace
+--   For extension FlexibleManipulate:
+--import qualified XMonadContrib.FlexibleManipulate as Flex
+--   For extension FlexibleResize:
+--import qualified XMonadContrib.FlexibleResize as Flex
+--   For extension FocusNth:
+--import XMonadContrib.FocusNth
+--   For extension HintedTile:
+--import qualified XMonadContrib.HintedTile
+--   For extension LayoutHints:
+--import XMonadContrib.LayoutHints
+--   For extension LayoutScreens:
+--import XMonadContrib.LayoutScreens
+--   For extension MagicFocus:
+--import XMonadContrib.MagicFocus
+--   For extension Magnifier:
+--import XMonadContrib.Magnifier
+--   For extension Mosaic:
+--import XMonadContrib.Mosaic
+--   For extension NoBorders:
+--import XMonadContrib.NoBorders
+--   For extension Roledex:
+--import XMonadContrib.Roledex
+--   For extension RotSlaves:
+--import XMonadContrib.RotSlaves
+--   For extension RotView:
+--import XMonadContrib.RotView
+--   For extension ShellPrompt:
+--import XMonadContrib.XPrompt
+--import XMonadContrib.ShellPrompt
+--   For extension SimpleDate:
+--import XMonadContrib.SimpleDate
+--   For extension SinkAll:
+--import XMonadContrib.SinkAll
+--   For extension Spiral:
+--import XMonadContrib.Spiral
+--   For extension Square:
+--import XMonadContrib.Square
+--   For extension SshPrompt:
+--import XMonadContrib.XPrompt
+--import XMonadContrib.SshPrompt
+--   For extension Submap:
+--import XMonadContrib.Submap
+--   For extension Tabbed:
+--import XMonadContrib.Tabbed
+--   For extension ThreeColumns:
+--import XMonadContrib.ThreeColumns
+--   For extension TwoPane:
+--import XMonadContrib.TwoPane
+--   For extension Warp:
+--import XMonadContrib.Warp
+--   For extension WorkspaceDir:
+--import XMonadContrib.WorkspaceDir
+--   For extension XMonadPrompt:
+--import XMonadContrib.XPrompt
+--import XMonadContrib.XMonadPrompt
+
 --
 -- The number of workspaces (virtual screens, or window groups)
 --
@@ -91,7 +173,48 @@
 -- The default set of tiling algorithms
 --
 defaultLayouts :: [Layout Window]
-defaultLayouts = [ tiled , mirror tiled , full ]
+defaultLayouts = [ tiled
+                 , mirror tiled
+                 , full
+
+                 -- Extension-provided layouts
+                 --   For extension Accordion:
+                 -- , accordion
+                 --   For extension Combo:
+                 -- , simpleStacking $ combo (twoPane 0.03 0.5) [(full,1),(tabbed shrinkText defaultTConf,1)]
+                 --   For extension DragPane:
+                 -- , dragPane "" (fromRational delta) (fromRational delta)
+                 --   For extension HintedTile:
+                 -- , XMonadContrib.HintedTile.tall nmaster delta ratio
+                 --   For extension LayoutHints:
+                 -- , layoutHints tiled
+                 -- , layoutHints $ mirror tiled
+                 --   For extension MagicFocus:
+                 -- , magicFocus tiled
+                 -- , magicFocus $ mirror tiled
+                 --   For extension Magnifier:
+                 -- , magnifier tiled
+                 -- , magnifier $ mirror tiled
+                 --   For extension Mosaic:
+                 -- , mosaic 0.25 0.5 M.empty
+                 --   For extension NoBorders:
+                 -- -- prepend noBorders to default layouts above to remove their borders, like so:
+                 -- , noBorders full
+                 --   For extension Roledex:
+                 -- , roledex
+                 --   For extension Spiral:
+                 -- , spiral (1 % 1)
+                 --   For extension Tabbed:
+                 -- , tabbed shrinkText defaultTConf
+                 --   For extension ThreeColumns:
+                 -- , threeCol nmaster delta ratio
+                 --   For extension TwoPane:
+                 -- , twoPane delta (1%2)
+                 --   For extension WorkspaceDir:
+                 -- -- prepend 'map (workspaceDir "~")' to defaultLayouts definition above,
+                 -- -- just before the list, like the following (don't uncomment next line):
+                 -- -- defaultLayouts = map (workspaceDir "~") [ tiled, ... ]
+                 ]
   where
      -- default tiling algorithm partitions the screen into two panes
      tiled   = tall nmaster delta ratio
@@ -159,19 +282,83 @@
     , ((modMask .|. shiftMask, xK_q     ), io (exitWith ExitSuccess)) -- @@ Quit xmonad
     , ((modMask              , xK_q     ), restart Nothing True) -- @@ Restart xmonad
 
-    ] ++
+    -- Extension-provided key bindings
+    --   For extension Commands:
+    -- , ((modMask .|. controlMask, xK_y), runCommand commands)
+    --   For extension CopyWindow:
+    -- -- comment out default close window binding above if you uncomment this:
+    -- , ((modMask .|. shiftMask, xK_c     ), kill1) -- @@ Close the focused window
+    --   For extension DeManage:
+    -- , ((modMask,               xK_d     ), withFocused demanage)
+    --   For extension DwmPromote:
+    -- , ((modMask,               xK_Return), dwmpromote)
+    --   For extension FindEmptyWorkspace:
+    -- , ((modMask,                xK_m    ), viewEmptyWorkspace)
+    -- , ((modMask .|. shiftMask,  xK_m    ), tagToEmptyWorkspace)
+    --   For extension LayoutScreens:
+    -- , ((modMask .|. shiftMask, xK_space), layoutScreens 2 (twoPane 0.5 0.5))
+    -- , ((controlMask .|. modMask .|. shiftMask, xK_space), rescreen)
+    --   For extension Mosaic:
+    -- , ((controlMask .|. modMask .|. shiftMask, xK_h), withNamedWindow (sendMessage . tallWindow))
+    -- , ((controlMask .|. modMask .|. shiftMask, xK_l), withNamedWindow (sendMessage . wideWindow))
+    -- , ((modMask .|. shiftMask, xK_h     ), withNamedWindow (sendMessage . shrinkWindow))
+    -- , ((modMask .|. shiftMask, xK_l     ), withNamedWindow (sendMessage . expandWindow))
+    -- , ((modMask .|. shiftMask, xK_s     ), withNamedWindow (sendMessage . squareWindow))
+    -- , ((modMask .|. shiftMask, xK_o     ), withNamedWindow (sendMessage . myclearWindow))
+    -- , ((controlMask .|. modMask .|. shiftMask, xK_o     ), withNamedWindow (sendMessage . flexibleWindow))
+    --   For extension RotSlaves:
+    -- , ((modMask .|. shiftMask, xK_Tab   ), rotSlavesUp)
+    --   For extension RotView:
+    -- , ((modMask .|. shiftMask, xK_Right), rotView True)
+    -- , ((modMask .|. shiftMask, xK_Left), rotView False)
+    --   For extension ShellPrompt:
+    -- , ((modMask .|. controlMask, xK_x), shellPrompt defaultXPConfig)
+    --   For extension SimpleDate:
+    -- , ((modMask,               xK_d     ), date)
+    --   For extension SinkAll:
+    -- , ((modMask .|. shiftMask, xK_t), sinkAll)
+    --   For extension SshPrompt:
+    -- , ((modMask .|. controlMask, xK_x), xmonadPrompt defaultXPConfig)
+    --   For extension Submap:
+    -- , ((modMask, xK_a), submap . M.fromList $
+    --     [ ((0, xK_n),     spawn "mpc next")
+    --     , ((0, xK_p),     spawn "mpc prev")
+    --     , ((0, xK_z),     spawn "mpc random")
+    --     , ((0, xK_space), spawn "mpc toggle")
+    --     ])
+    --   For extension Warp:
+    -- , ((modMask,   xK_z     ), warpToWindow (1%2) (1%2)) -- @@ Move pointer to currently focused window
+    --   For extension WorkspaceDir:
+    -- , ((modMask .|. shiftMask, xK_x     ), changeDir defaultXPConfig)
+    --   For extension XMonadPrompt:
+    -- , ((modMask .|. controlMask, xK_x), xmonadPrompt defaultXPConfig)
+    ]
+    ++
     -- mod-[1..9] @@ Switch to workspace N
     -- mod-shift-[1..9] @@ Move client to workspace N
     [((m .|. modMask, k), f i)
         | (i, k) <- zip workspaces [xK_1 ..]
         , (f, m) <- [(view, 0), (shift, shiftMask)]]
-
+    ++
     -- mod-{w,e,r} @@ Switch to physical/Xinerama screens 1, 2, or 3
     -- mod-shift-{w,e,r} @@ Move client to screen 1, 2, or 3
-    ++
     [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust f)
         | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
         , (f, m) <- [(windows . W.view, 0), (shift, shiftMask)]]
+    -- Extension-provided key bindings lists
+    --   For extension CopyWindow:
+    -- ++
+    -- -- mod-[1..9] @@ Switch to workspace N
+    -- -- mod-shift-[1..9] @@ Move client to workspace N
+    -- -- mod-control-shift-[1..9] @@ Copy client to workspace N
+    -- [((m .|. modMask, k), f i)
+    --     | (i, k) <- zip workspaces [xK_1 ..]
+    --     , (f, m) <- [(view, 0), (shift, shiftMask), (copy, shiftMask .|. controlMask)]]
+    --   For extension Warp:
+    -- ++
+    -- -- mod-ctrl-{w,e,r} @@ Move mouse pointer to screen 1, 2, or 3
+    -- [((modMask .|. controlMask, key), warpToScreen sc (1%2) (1%2))
+    --     | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]]
 
 -- |
 -- default actions bound to mouse events
@@ -183,4 +370,19 @@
     -- mod-button2 @@ Raise the window to the top of the stack
     , ((modMask, button2), (\w -> focus w >> swapMaster))
     -- mod-button3 @@ Set the window to floating mode and resize by dragging
-    , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w)) ]
+    , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w))
+
+    -- Extension-provided mouse bindings
+    --   For extension FlexibleManipulate:
+    -- , ((modMask, button1), (\w -> focus w >> Flex.mouseWindow Flex.linear w))
+    --   For extension FlexibleResize:
+    -- , ((modMask, button3), (\w -> focus w >> Flex.mouseResizeWindow w))
+    ]
+
+-- Extension-provided definitions
+--   For extension Commands:
+-- commands :: [(String, X ())]
+-- commands = defaultCommands
+--   For extension DynamicLog:
+-- -- comment out default logHook definition above if you uncomment this:
+-- logHook = dynamicLog