mirror of
https://github.com/xmonad/xmonad.git
synced 2025-05-19 08:30:21 -07:00
178 lines
5.7 KiB
Groff
178 lines
5.7 KiB
Groff
.TH xmonad 1 "5 July 2018" xmonad-0.13 "xmonad manual".\" Automatically generated by Pandoc 2.2.1
|
|
.\"
|
|
.TH "" "" "" "" ""
|
|
.hy
|
|
.SH Name
|
|
.PP
|
|
xmonad \- a tiling window manager
|
|
.SH Description
|
|
.PP
|
|
\f[I]xmonad\f[] is a minimalist tiling window manager for X, written in
|
|
Haskell.
|
|
Windows are managed using automatic layout algorithms, which can be
|
|
dynamically reconfigured.
|
|
At any time windows are arranged so as to maximize the use of screen
|
|
real estate.
|
|
All features of the window manager are accessible purely from the
|
|
keyboard: a mouse is entirely optional.
|
|
\f[I]xmonad\f[] is configured in Haskell, and custom layout algorithms
|
|
may be implemented by the user in config files.
|
|
A principle of \f[I]xmonad\f[] is predictability: the user should know
|
|
in advance precisely the window arrangement that will result from any
|
|
action.
|
|
.PP
|
|
By default, \f[I]xmonad\f[] provides three layout algorithms: tall, wide
|
|
and fullscreen.
|
|
In tall or wide mode, windows are tiled and arranged to prevent overlap
|
|
and maximize screen use.
|
|
Sets of windows are grouped together on virtual screens, and each screen
|
|
retains its own layout, which may be reconfigured dynamically.
|
|
Multiple physical monitors are supported via Xinerama, allowing
|
|
simultaneous display of a number of screens.
|
|
.PP
|
|
By utilizing the expressivity of a modern functional language with a
|
|
rich static type system, \f[I]xmonad\f[] provides a complete, featureful
|
|
window manager in less than 1200 lines of code, with an emphasis on
|
|
correctness and robustness.
|
|
Internal properties of the window manager are checked using a
|
|
combination of static guarantees provided by the type system, and
|
|
type\-based automated testing.
|
|
A benefit of this is that the code is simple to understand, and easy to
|
|
modify.
|
|
.SH Usage
|
|
.PP
|
|
\f[I]xmonad\f[] places each window into a "workspace".
|
|
Each workspace can have any number of windows, which you can cycle
|
|
though with mod\-j and mod\-k.
|
|
Windows are either displayed full screen, tiled horizontally, or tiled
|
|
vertically.
|
|
You can toggle the layout mode with mod\-space, which will cycle through
|
|
the available modes.
|
|
.PP
|
|
You can switch to workspace N with mod\-N.
|
|
For example, to switch to workspace 5, you would press mod\-5.
|
|
Similarly, you can move the current window to another workspace with
|
|
mod\-shift\-N.
|
|
.PP
|
|
When running with multiple monitors (Xinerama), each screen has exactly
|
|
1 workspace visible.
|
|
mod\-{w,e,r} switch the focus between screens, while shift\-mod\-{w,e,r}
|
|
move the current window to that screen.
|
|
When \f[I]xmonad\f[] starts, workspace 1 is on screen 1, workspace 2 is
|
|
on screen 2, etc.
|
|
When switching workspaces to one that is already visible, the current
|
|
and visible workspaces are swapped.
|
|
.SS Flags
|
|
.PP
|
|
xmonad has several flags which you may pass to the executable.
|
|
These flags are:
|
|
.PP
|
|
\-\-recompile : Recompiles your configuration in
|
|
\f[I]~/.xmonad/xmonad.hs\f[]
|
|
.PP
|
|
\-\-restart : Causes the currently running \f[I]xmonad\f[] process to
|
|
restart
|
|
.PP
|
|
\-\-replace : Replace the current window manager with xmonad
|
|
.PP
|
|
\-\-version : Display version of \f[I]xmonad\f[]
|
|
.PP
|
|
\-\-verbose\-version : Display detailed version of \f[I]xmonad\f[]
|
|
.SS Default keyboard bindings
|
|
.PP
|
|
mod\-shift\-return : Launch terminal
|
|
.PP
|
|
mod\-p : Launch dmenu
|
|
.PP
|
|
mod\-shift\-p : Launch gmrun
|
|
.PP
|
|
mod\-shift\-c : Close the focused window
|
|
.PP
|
|
mod\-space : Rotate through the available layout algorithms
|
|
.PP
|
|
mod\-shift\-space : Reset the layouts on the current workspace to
|
|
default
|
|
.PP
|
|
mod\-n : Resize viewed windows to the correct size
|
|
.PP
|
|
mod\-tab : Move focus to the next window
|
|
.PP
|
|
mod\-shift\-tab : Move focus to the previous window
|
|
.PP
|
|
mod\-j : Move focus to the next window
|
|
.PP
|
|
mod\-k : Move focus to the previous window
|
|
.PP
|
|
mod\-m : Move focus to the master window
|
|
.PP
|
|
mod\-return : Swap the focused window and the master window
|
|
.PP
|
|
mod\-shift\-j : Swap the focused window with the next window
|
|
.PP
|
|
mod\-shift\-k : Swap the focused window with the previous window
|
|
.PP
|
|
mod\-h : Shrink the master area
|
|
.PP
|
|
mod\-l : Expand the master area
|
|
.PP
|
|
mod\-t : Push window back into tiling
|
|
.PP
|
|
mod\-comma : Increment the number of windows in the master area
|
|
.PP
|
|
mod\-period : Deincrement the number of windows in the master area
|
|
.PP
|
|
mod\-shift\-q : Quit xmonad
|
|
.PP
|
|
mod\-q : Restart xmonad
|
|
.PP
|
|
mod\-shift\-slash : Run xmessage with a summary of the default
|
|
keybindings (useful for beginners)
|
|
.PP
|
|
mod\-question : Run xmessage with a summary of the default keybindings
|
|
(useful for beginners)
|
|
.PP
|
|
mod\-[1..9] : Switch to workspace N
|
|
.PP
|
|
mod\-shift\-[1..9] : Move client to workspace N
|
|
.PP
|
|
mod\-{w,e,r} : Switch to physical/Xinerama screens 1, 2, or 3
|
|
.PP
|
|
mod\-shift\-{w,e,r} : Move client to screen 1, 2, or 3
|
|
.PP
|
|
mod\-button1 : Set the window to floating mode and move by dragging
|
|
.PP
|
|
mod\-button2 : Raise the window to the top of the stack
|
|
.PP
|
|
mod\-button3 : Set the window to floating mode and resize by dragging
|
|
.SH Examples
|
|
.PP
|
|
To use xmonad as your window manager add to your \f[I]~/.xinitrc\f[]
|
|
file:
|
|
.RS
|
|
.PP
|
|
exec xmonad
|
|
.RE
|
|
.SH Customization
|
|
.PP
|
|
xmonad is customized in ~/.xmonad/xmonad.hs, and then restarted with
|
|
mod\-q.
|
|
.PP
|
|
You can find many extensions to the core feature set in the xmonad\-
|
|
contrib package, available through your package manager or from
|
|
[xmonad.org].
|
|
.SS Modular Configuration
|
|
.PP
|
|
As of \f[I]xmonad\-0.9\f[], any additional Haskell modules may be placed
|
|
in \f[I]~/.xmonad/lib/\f[] are available in GHC\[aq]s searchpath.
|
|
Hierarchical modules are supported: for example, the file
|
|
\f[I]~/.xmonad/lib/XMonad/Stack/MyAdditions.hs\f[] could contain:
|
|
.PP
|
|
\f[C]haskell\ module\ XMonad.Stack.MyAdditions\ (function1)\ where\ \ \ function1\ =\ error\ "function1:\ Not\ implemented\ yet!"\f[]
|
|
.PP
|
|
Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that
|
|
module was contained within xmonad or xmonad\-contrib.
|
|
.SH Bugs
|
|
.PP
|
|
Probably.
|
|
If you find any, please report them to the [bugtracker]
|