1xmonad(1) xmonad manual xmonad(1)
2
3
4
5 xmonad - a tiling window manager
6
8 xmonad is a minimalist tiling window manager for X, written in Haskell.
9 Windows are managed using automatic layout algorithms, which can be
10 dynamically reconfigured. At any time windows are arranged so as to
11 maximize the use of screen real estate. All features of the window
12 manager are accessible purely from the keyboard: a mouse is entirely
13 optional. xmonad is configured in Haskell, and custom layout algo‐
14 rithms may be implemented by the user in config files. A principle of
15 xmonad is predictability: the user should know in advance precisely the
16 window arrangement that will result from any action.
17
18 By default, xmonad provides three layout algorithms: tall, wide and
19 fullscreen. In tall or wide mode, windows are tiled and arranged to
20 prevent overlap and maximize screen use. Sets of windows are grouped
21 together on virtual screens, and each screen retains its own layout,
22 which may be reconfigured dynamically. Multiple physical monitors are
23 supported via Xinerama, allowing simultaneous display of a number of
24 screens.
25
26 By utilizing the expressivity of a modern functional language with a
27 rich static type system, xmonad provides a complete, featureful window
28 manager in less than 1200 lines of code, with an emphasis on correct‐
29 ness and robustness. Internal properties of the window manager are
30 checked using a combination of static guarantees provided by the type
31 system, and type-based automated testing. A benefit of this is that
32 the code is simple to understand, and easy to modify.
33
35 xmonad places each window into a "workspace". Each workspace can have
36 any number of windows, which you can cycle though with mod-j and mod-k.
37 Windows are either displayed full screen, tiled horizontally, or tiled
38 vertically. You can toggle the layout mode with mod-space, which will
39 cycle through the available modes.
40
41 You can switch to workspace N with mod-N. For example, to switch to
42 workspace 5, you would press mod-5. Similarly, you can move the cur‐
43 rent window to another workspace with mod-shift-N.
44
45 When running with multiple monitors (Xinerama), each screen has exactly
46 1 workspace visible. mod-{w,e,r} switch the focus between screens,
47 while shift-mod-{w,e,r} move the current window to that screen. When
48 xmonad starts, workspace 1 is on screen 1, workspace 2 is on screen 2,
49 etc. When switching workspaces to one that is already visible, the
50 current and visible workspaces are swapped.
51
52 Flags
53 xmonad has several flags which you may pass to the executable. These
54 flags are:
55
56 --recompile
57 Recompiles your configuration in ~/.xmonad/xmonad.hs
58
59 --restart
60 Causes the currently running xmonad process to restart
61
62 --version
63 Display version of xmonad
64
65 Default keyboard bindings
66 mod-shift-return
67 Launch terminal
68
69 mod-p Launch dmenu
70
71 mod-shift-p
72 Launch gmrun
73
74 mod-shift-c
75 Close the focused window
76
77 mod-space
78 Rotate through the available layout algorithms
79
80 mod-shift-space
81 Reset the layouts on the current workspace to default
82
83 mod-n Resize viewed windows to the correct size
84
85 mod-tab
86 Move focus to the next window
87
88 mod-shift-tab
89 Move focus to the previous window
90
91 mod-j Move focus to the next window
92
93 mod-k Move focus to the previous window
94
95 mod-m Move focus to the master window
96
97 mod-return
98 Swap the focused window and the master window
99
100 mod-shift-j
101 Swap the focused window with the next window
102
103 mod-shift-k
104 Swap the focused window with the previous window
105
106 mod-h Shrink the master area
107
108 mod-l Expand the master area
109
110 mod-t Push window back into tiling
111
112 mod-comma
113 Increment the number of windows in the master area
114
115 mod-period
116 Deincrement the number of windows in the master area
117
118 mod-b Toggle the status bar gap
119
120 mod-shift-q
121 Quit xmonad
122
123 mod-q Restart xmonad
124
125 mod-[1..9]
126 Switch to workspace N
127
128 mod-shift-[1..9]
129 Move client to workspace N
130
131 mod-{w,e,r}
132 Switch to physical/Xinerama screens 1, 2, or 3
133
134 mod-shift-{w,e,r}
135 Move client to screen 1, 2, or 3
136
137 mod-button1
138 Set the window to floating mode and move by dragging
139
140 mod-button2
141 Raise the window to the top of the stack
142
143 mod-button3
144 Set the window to floating mode and resize by dragging
145
147 To use xmonad as your window manager add to your ~/.xinitrc file:
148
149
150 exec xmonad
151
153 xmonad is customized in ~/.xmonad/xmonad.hs, and then restarting with
154 mod-q.
155
156 You can find many extensions to the core feature set in the xmonad-
157 contrib package, available through your package manager or from
158 xmonad.org (http://xmonad.org).
159
160 Modular Configuration
161 As of xmonad-0.9, any additional Haskell modules may be placed in
162 ~/.xmonad/lib/ are available in GHC's searchpath. Hierarchical modules
163 are supported: for example, the file ~/.xmonad/lib/XMonad/Stack/MyAddi‐
164 tions.hs could contain:
165
166
167 module XMonad.Stack.MyAdditions (function1) where
168 function1 = error "function1: Not implemented yet!"
169
170 Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that mod‐
171 ule was contained within xmonad or xmonad-contrib.
172
174 Probably. If you find any, please report them to the bugtracker
175 (http://code.google.com/p/xmonad/issues/list)
176
177
178
179xmonad-0.9.1 25 October 09 xmonad(1)