1xmonad(1)                        xmonad manual                       xmonad(1)
2
3
4
5       xmonad - a tiling window manager
6

Description

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

Usage

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

Examples

147       To use xmonad as your window manager add to your ~/.xinitrc file:
148
149
150             exec xmonad
151

Customization

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

Bugs

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)
Impressum