1XMONAD(1)                                                            XMONAD(1)
2
3
4

Name

6       xmonad - Tiling Window Manager
7

Description

9       xmonad is a minimalist tiling window manager for X, written in Haskell.
10       Windows are managed using automatic layout algorithms, which can be dy‐
11       namically reconfigured.  At any time windows are arranged so as to max‐
12       imize the use of screen real estate.  All features of the window manag‐
13       er are accessible purely from the keyboard: a mouse is entirely option‐
14       al.  xmonad is configured in Haskell, and custom layout algorithms  may
15       be  implemented  by the user in config files.  A principle of xmonad is
16       predictability: the user should know in advance  precisely  the  window
17       arrangement that will result from any action.
18
19       By  default,  xmonad  provides  three layout algorithms: tall, wide and
20       fullscreen.  In tall or wide mode, windows are tiled  and  arranged  to
21       prevent  overlap  and maximize screen use.  Sets of windows are grouped
22       together on virtual screens, and each screen retains  its  own  layout,
23       which  may be reconfigured dynamically.  Multiple physical monitors are
24       supported via Xinerama, allowing simultaneous display of  a  number  of
25       screens.
26
27       By  utilizing  the  expressivity of a modern functional language with a
28       rich static type system, xmonad provides a complete, featureful  window
29       manager  in  less than 1200 lines of code, with an emphasis on correct‐
30       ness and robustness.  Internal properties of  the  window  manager  are
31       checked  using  a combination of static guarantees provided by the type
32       system, and type-based automated testing.  A benefit of  this  is  that
33       the code is simple to understand, and easy to modify.
34

Usage

36       xmonad  places each window into a “workspace”.  Each workspace can have
37       any number of windows, which you can cycle though with mod-j and mod-k.
38       Windows  are either displayed full screen, tiled horizontally, or tiled
39       vertically.  You can toggle the layout mode with mod-space, which  will
40       cycle through the available modes.
41
42       You  can  switch  to workspace N with mod-N.  For example, to switch to
43       workspace 5, you would press mod-5.  Similarly, you can move  the  cur‐
44       rent window to another workspace with mod-shift-N.
45
46       When running with multiple monitors (Xinerama), each screen has exactly
47       1 workspace visible.  mod-{w,e,r} switch  the  focus  between  screens,
48       while  shift-mod-{w,e,r}  move the current window to that screen.  When
49       xmonad starts, workspace 1 is on screen 1, workspace 2 is on screen  2,
50       etc.   When  switching  workspaces  to one that is already visible, the
51       current and visible workspaces are swapped.
52
53   Flags
54       xmonad has several flags which you may pass to the  executable.   These
55       flags are:
56
57       –recompile
58              Recompiles your configuration in ~/.xmonad/xmonad.hs
59
60       –restart
61              Causes the currently running xmonad process to restart
62
63       –replace
64              Replace the current window manager with xmonad
65
66       –version
67              Display version of xmonad
68
69       –verbose-version
70              Display detailed version of xmonad
71
72       ##Default keyboard bindings
73
74       mod-shift-return
75              Launch terminal
76
77       mod-p  Launch dmenu
78
79       mod-shift-p
80              Launch gmrun
81
82       mod-shift-c
83              Close the focused window
84
85       mod-space
86              Rotate through the available layout algorithms
87
88       mod-shift-space
89              Reset the layouts on the current workspace to default
90
91       mod-n  Resize viewed windows to the correct size
92
93       mod-tab
94              Move focus to the next window
95
96       mod-shift-tab
97              Move focus to the previous window
98
99       mod-j  Move focus to the next window
100
101       mod-k  Move focus to the previous window
102
103       mod-m  Move focus to the master window
104
105       mod-return
106              Swap the focused window and the master window
107
108       mod-shift-j
109              Swap the focused window with the next window
110
111       mod-shift-k
112              Swap the focused window with the previous window
113
114       mod-h  Shrink the master area
115
116       mod-l  Expand the master area
117
118       mod-t  Push window back into tiling
119
120       mod-comma
121              Increment the number of windows in the master area
122
123       mod-period
124              Deincrement the number of windows in the master area
125
126       mod-shift-q
127              Quit xmonad
128
129       mod-q  Restart xmonad
130
131       mod-shift-slash
132              Run  xmessage  with a summary of the default keybindings (useful
133              for beginners)
134
135       mod-question
136              Run xmessage with a summary of the default  keybindings  (useful
137              for beginners)
138
139       mod-[1..9]
140              Switch to workspace N
141
142       mod-shift-[1..9]
143              Move client to workspace N
144
145       mod-{w,e,r}
146              Switch to physical/Xinerama screens 1, 2, or 3
147
148       mod-shift-{w,e,r}
149              Move client to screen 1, 2, or 3
150
151       mod-button1
152              Set the window to floating mode and move by dragging
153
154       mod-button2
155              Raise the window to the top of the stack
156
157       mod-button3
158              Set the window to floating mode and resize by dragging
159

Examples

161       To use xmonad as your window manager add to your ~/.xinitrc file:
162
163              exec xmonad
164

Customization

166       xmonad  is  customized  in ~/.xmonad/xmonad.hs, and then restarted with
167       mod-q.
168
169       You can find many extensions to the core feature  set  in  the  xmonad-
170       contrib  package,  available through your package manager or from xmon‐
171       ad.org (http://xmonad.org).
172
173   Modular Configuration
174       As of xmonad-0.9, any additional  Haskell  modules  may  be  placed  in
175       ~/.xmonad/lib/ are available in GHC's searchpath.  Hierarchical modules
176       are supported: for example, the file ~/.xmonad/lib/XMonad/Stack/MyAddi‐
177       tions.hs could contain:
178
179              module XMonad.Stack.MyAdditions (function1) where
180                function1 = error "function1: Not implemented yet!"
181
182       Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that mod‐
183       ule was contained within xmonad or xmonad-contrib.
184

Bugs

186       Probably.  If you find  any,  please  report  them  to  the  bugtracker
187       (https://github.com/xmonad/xmonad/issues)
188
189
190
191Tiling Window Manager          30 September 2018                     XMONAD(1)
Impressum