mirror of
https://github.com/xmonad/xmonad.git
synced 2025-05-19 08:30:21 -07:00
man: Update
This commit is contained in:
parent
56f810d182
commit
131fd3669f
101
man/xmonad.1
101
man/xmonad.1
@ -1,10 +1,10 @@
|
|||||||
.\" Automatically generated by Pandoc 2.11.3.1
|
.\" Automatically generated by Pandoc 2.5
|
||||||
.\"
|
.\"
|
||||||
.TH "XMONAD" "1" "30 September 2018" "Tiling Window Manager" ""
|
.TH "XMONAD" "1" "30 September 2018" "Tiling Window Manager" ""
|
||||||
.hy
|
.hy
|
||||||
.SH Name
|
.SH Name
|
||||||
.PP
|
.PP
|
||||||
xmonad - Tiling Window Manager
|
xmonad \- Tiling Window Manager
|
||||||
.SH Description
|
.SH Description
|
||||||
.PP
|
.PP
|
||||||
\f[I]xmonad\f[R] is a minimalist tiling window manager for X, written in
|
\f[I]xmonad\f[R] is a minimalist tiling window manager for X, written in
|
||||||
@ -36,27 +36,27 @@ featureful window manager in less than 1200 lines of code, with an
|
|||||||
emphasis on correctness and robustness.
|
emphasis on correctness and robustness.
|
||||||
Internal properties of the window manager are checked using a
|
Internal properties of the window manager are checked using a
|
||||||
combination of static guarantees provided by the type system, and
|
combination of static guarantees provided by the type system, and
|
||||||
type-based automated testing.
|
type\-based automated testing.
|
||||||
A benefit of this is that the code is simple to understand, and easy to
|
A benefit of this is that the code is simple to understand, and easy to
|
||||||
modify.
|
modify.
|
||||||
.SH Usage
|
.SH Usage
|
||||||
.PP
|
.PP
|
||||||
\f[I]xmonad\f[R] places each window into a \[lq]workspace\[rq].
|
\f[I]xmonad\f[R] places each window into a \[lq]workspace\[rq].
|
||||||
Each workspace can have any number of windows, which you can cycle
|
Each workspace can have any number of windows, which you can cycle
|
||||||
though with mod-j and mod-k.
|
though with mod\-j and mod\-k.
|
||||||
Windows are either displayed full screen, tiled horizontally, or tiled
|
Windows are either displayed full screen, tiled horizontally, or tiled
|
||||||
vertically.
|
vertically.
|
||||||
You can toggle the layout mode with mod-space, which will cycle through
|
You can toggle the layout mode with mod\-space, which will cycle through
|
||||||
the available modes.
|
the available modes.
|
||||||
.PP
|
.PP
|
||||||
You can switch to workspace N with mod-N.
|
You can switch to workspace N with mod\-N.
|
||||||
For example, to switch to workspace 5, you would press mod-5.
|
For example, to switch to workspace 5, you would press mod\-5.
|
||||||
Similarly, you can move the current window to another workspace with
|
Similarly, you can move the current window to another workspace with
|
||||||
mod-shift-N.
|
mod\-shift\-N.
|
||||||
.PP
|
.PP
|
||||||
When running with multiple monitors (Xinerama), each screen has exactly
|
When running with multiple monitors (Xinerama), each screen has exactly
|
||||||
1 workspace visible.
|
1 workspace visible.
|
||||||
mod-{w,e,r} switch the focus between screens, while shift-mod-{w,e,r}
|
mod\-{w,e,r} switch the focus between screens, while shift\-mod\-{w,e,r}
|
||||||
move the current window to that screen.
|
move the current window to that screen.
|
||||||
When \f[I]xmonad\f[R] starts, workspace 1 is on screen 1, workspace 2 is
|
When \f[I]xmonad\f[R] starts, workspace 1 is on screen 1, workspace 2 is
|
||||||
on screen 2, etc.
|
on screen 2, etc.
|
||||||
@ -67,115 +67,115 @@ and visible workspaces are swapped.
|
|||||||
xmonad has several flags which you may pass to the executable.
|
xmonad has several flags which you may pass to the executable.
|
||||||
These flags are:
|
These flags are:
|
||||||
.TP
|
.TP
|
||||||
\[en]recompile
|
.B \[en]recompile
|
||||||
Recompiles your \f[I]xmonad.hs\f[R] configuration
|
Recompiles your \f[I]xmonad.hs\f[R] configuration
|
||||||
.TP
|
.TP
|
||||||
\[en]restart
|
.B \[en]restart
|
||||||
Causes the currently running \f[I]xmonad\f[R] process to restart
|
Causes the currently running \f[I]xmonad\f[R] process to restart
|
||||||
.TP
|
.TP
|
||||||
\[en]replace
|
.B \[en]replace
|
||||||
Replace the current window manager with xmonad
|
Replace the current window manager with xmonad
|
||||||
.TP
|
.TP
|
||||||
\[en]version
|
.B \[en]version
|
||||||
Display version of \f[I]xmonad\f[R]
|
Display version of \f[I]xmonad\f[R]
|
||||||
.TP
|
.TP
|
||||||
\[en]verbose-version
|
.B \[en]verbose\-version
|
||||||
Display detailed version of \f[I]xmonad\f[R]
|
Display detailed version of \f[I]xmonad\f[R]
|
||||||
.SS Default keyboard bindings
|
.SS Default keyboard bindings
|
||||||
.TP
|
.TP
|
||||||
mod-shift-return
|
.B mod\-shift\-return
|
||||||
Launch terminal
|
Launch terminal
|
||||||
.TP
|
.TP
|
||||||
mod-p
|
.B mod\-p
|
||||||
Launch dmenu
|
Launch dmenu
|
||||||
.TP
|
.TP
|
||||||
mod-shift-p
|
.B mod\-shift\-p
|
||||||
Launch gmrun
|
Launch gmrun
|
||||||
.TP
|
.TP
|
||||||
mod-shift-c
|
.B mod\-shift\-c
|
||||||
Close the focused window
|
Close the focused window
|
||||||
.TP
|
.TP
|
||||||
mod-space
|
.B mod\-space
|
||||||
Rotate through the available layout algorithms
|
Rotate through the available layout algorithms
|
||||||
.TP
|
.TP
|
||||||
mod-shift-space
|
.B mod\-shift\-space
|
||||||
Reset the layouts on the current workspace to default
|
Reset the layouts on the current workspace to default
|
||||||
.TP
|
.TP
|
||||||
mod-n
|
.B mod\-n
|
||||||
Resize viewed windows to the correct size
|
Resize viewed windows to the correct size
|
||||||
.TP
|
.TP
|
||||||
mod-tab
|
.B mod\-tab
|
||||||
Move focus to the next window
|
Move focus to the next window
|
||||||
.TP
|
.TP
|
||||||
mod-shift-tab
|
.B mod\-shift\-tab
|
||||||
Move focus to the previous window
|
Move focus to the previous window
|
||||||
.TP
|
.TP
|
||||||
mod-j
|
.B mod\-j
|
||||||
Move focus to the next window
|
Move focus to the next window
|
||||||
.TP
|
.TP
|
||||||
mod-k
|
.B mod\-k
|
||||||
Move focus to the previous window
|
Move focus to the previous window
|
||||||
.TP
|
.TP
|
||||||
mod-m
|
.B mod\-m
|
||||||
Move focus to the master window
|
Move focus to the master window
|
||||||
.TP
|
.TP
|
||||||
mod-return
|
.B mod\-return
|
||||||
Swap the focused window and the master window
|
Swap the focused window and the master window
|
||||||
.TP
|
.TP
|
||||||
mod-shift-j
|
.B mod\-shift\-j
|
||||||
Swap the focused window with the next window
|
Swap the focused window with the next window
|
||||||
.TP
|
.TP
|
||||||
mod-shift-k
|
.B mod\-shift\-k
|
||||||
Swap the focused window with the previous window
|
Swap the focused window with the previous window
|
||||||
.TP
|
.TP
|
||||||
mod-h
|
.B mod\-h
|
||||||
Shrink the master area
|
Shrink the master area
|
||||||
.TP
|
.TP
|
||||||
mod-l
|
.B mod\-l
|
||||||
Expand the master area
|
Expand the master area
|
||||||
.TP
|
.TP
|
||||||
mod-t
|
.B mod\-t
|
||||||
Push window back into tiling
|
Push window back into tiling
|
||||||
.TP
|
.TP
|
||||||
mod-comma
|
.B mod\-comma
|
||||||
Increment the number of windows in the master area
|
Increment the number of windows in the master area
|
||||||
.TP
|
.TP
|
||||||
mod-period
|
.B mod\-period
|
||||||
Deincrement the number of windows in the master area
|
Deincrement the number of windows in the master area
|
||||||
.TP
|
.TP
|
||||||
mod-shift-q
|
.B mod\-shift\-q
|
||||||
Quit xmonad
|
Quit xmonad
|
||||||
.TP
|
.TP
|
||||||
mod-q
|
.B mod\-q
|
||||||
Restart xmonad
|
Restart xmonad
|
||||||
.TP
|
.TP
|
||||||
mod-shift-slash
|
.B mod\-shift\-slash
|
||||||
Run xmessage with a summary of the default keybindings (useful for
|
Run xmessage with a summary of the default keybindings (useful for
|
||||||
beginners)
|
beginners)
|
||||||
.TP
|
.TP
|
||||||
mod-question
|
.B mod\-question
|
||||||
Run xmessage with a summary of the default keybindings (useful for
|
Run xmessage with a summary of the default keybindings (useful for
|
||||||
beginners)
|
beginners)
|
||||||
.TP
|
.TP
|
||||||
mod-[1..9]
|
.B mod\-[1..9]
|
||||||
Switch to workspace N
|
Switch to workspace N
|
||||||
.TP
|
.TP
|
||||||
mod-shift-[1..9]
|
.B mod\-shift\-[1..9]
|
||||||
Move client to workspace N
|
Move client to workspace N
|
||||||
.TP
|
.TP
|
||||||
mod-{w,e,r}
|
.B mod\-{w,e,r}
|
||||||
Switch to physical/Xinerama screens 1, 2, or 3
|
Switch to physical/Xinerama screens 1, 2, or 3
|
||||||
.TP
|
.TP
|
||||||
mod-shift-{w,e,r}
|
.B mod\-shift\-{w,e,r}
|
||||||
Move client to screen 1, 2, or 3
|
Move client to screen 1, 2, or 3
|
||||||
.TP
|
.TP
|
||||||
mod-button1
|
.B mod\-button1
|
||||||
Set the window to floating mode and move by dragging
|
Set the window to floating mode and move by dragging
|
||||||
.TP
|
.TP
|
||||||
mod-button2
|
.B mod\-button2
|
||||||
Raise the window to the top of the stack
|
Raise the window to the top of the stack
|
||||||
.TP
|
.TP
|
||||||
mod-button3
|
.B mod\-button3
|
||||||
Set the window to floating mode and resize by dragging
|
Set the window to floating mode and resize by dragging
|
||||||
.SH Examples
|
.SH Examples
|
||||||
.PP
|
.PP
|
||||||
@ -188,7 +188,7 @@ exec xmonad
|
|||||||
.SH Customization
|
.SH Customization
|
||||||
.PP
|
.PP
|
||||||
xmonad is customized in your \f[I]xmonad.hs\f[R], and then restarted
|
xmonad is customized in your \f[I]xmonad.hs\f[R], and then restarted
|
||||||
with mod-q.
|
with mod\-q.
|
||||||
You can choose where your configuration file lives by
|
You can choose where your configuration file lives by
|
||||||
.IP "1." 3
|
.IP "1." 3
|
||||||
Setting \f[C]XMONAD_DATA_DIR,\f[R] \f[C]XMONAD_CONFIG_DIR\f[R], and
|
Setting \f[C]XMONAD_DATA_DIR,\f[R] \f[C]XMONAD_CONFIG_DIR\f[R], and
|
||||||
@ -201,13 +201,14 @@ Creating \f[I]xmonad.hs\f[R] in \f[C]XDG_CONFIG_HOME\f[R].
|
|||||||
Note that, in this case, xmonad will use \f[C]XDG_DATA_HOME\f[R] and
|
Note that, in this case, xmonad will use \f[C]XDG_DATA_HOME\f[R] and
|
||||||
\f[C]XDG_CACHE_HOME\f[R] for its data and cache directory respectively.
|
\f[C]XDG_CACHE_HOME\f[R] for its data and cache directory respectively.
|
||||||
.PP
|
.PP
|
||||||
You can find many extensions to the core feature set in the xmonad-
|
You can find many extensions to the core feature set in the xmonad\-
|
||||||
contrib package, available through your package manager or from
|
contrib package, available through your package manager or from
|
||||||
xmonad.org (https://xmonad.org).
|
xmonad.org (https://xmonad.org).
|
||||||
.SS Modular Configuration
|
.SS Modular Configuration
|
||||||
.PP
|
.PP
|
||||||
As of \f[I]xmonad-0.9\f[R], any additional Haskell modules may be placed
|
As of \f[I]xmonad\-0.9\f[R], any additional Haskell modules may be
|
||||||
in \f[I]\[ti]/.xmonad/lib/\f[R] are available in GHC\[cq]s searchpath.
|
placed in \f[I]\[ti]/.xmonad/lib/\f[R] are available in GHC\[cq]s
|
||||||
|
searchpath.
|
||||||
Hierarchical modules are supported: for example, the file
|
Hierarchical modules are supported: for example, the file
|
||||||
\f[I]\[ti]/.xmonad/lib/XMonad/Stack/MyAdditions.hs\f[R] could contain:
|
\f[I]\[ti]/.xmonad/lib/XMonad/Stack/MyAdditions.hs\f[R] could contain:
|
||||||
.IP
|
.IP
|
||||||
@ -219,7 +220,7 @@ module XMonad.Stack.MyAdditions (function1) where
|
|||||||
.fi
|
.fi
|
||||||
.PP
|
.PP
|
||||||
Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that
|
Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that
|
||||||
module was contained within xmonad or xmonad-contrib.
|
module was contained within xmonad or xmonad\-contrib.
|
||||||
.SH Bugs
|
.SH Bugs
|
||||||
.PP
|
.PP
|
||||||
Probably.
|
Probably.
|
||||||
|
@ -7,211 +7,75 @@
|
|||||||
<meta name="author" content="" />
|
<meta name="author" content="" />
|
||||||
<meta name="dcterms.date" content="2018-09-30" />
|
<meta name="dcterms.date" content="2018-09-30" />
|
||||||
<title>XMONAD(1) Tiling Window Manager</title>
|
<title>XMONAD(1) Tiling Window Manager</title>
|
||||||
<style>
|
<style type="text/css">
|
||||||
html {
|
|
||||||
line-height: 1.5;
|
|
||||||
font-family: Georgia, serif;
|
|
||||||
font-size: 20px;
|
|
||||||
color: #1a1a1a;
|
|
||||||
background-color: #fdfdfd;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
margin: 0 auto;
|
|
||||||
max-width: 36em;
|
|
||||||
padding-left: 50px;
|
|
||||||
padding-right: 50px;
|
|
||||||
padding-top: 50px;
|
|
||||||
padding-bottom: 50px;
|
|
||||||
hyphens: auto;
|
|
||||||
word-wrap: break-word;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
font-kerning: normal;
|
|
||||||
}
|
|
||||||
@media (max-width: 600px) {
|
|
||||||
body {
|
|
||||||
font-size: 0.9em;
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media print {
|
|
||||||
body {
|
|
||||||
background-color: transparent;
|
|
||||||
color: black;
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
p, h2, h3 {
|
|
||||||
orphans: 3;
|
|
||||||
widows: 3;
|
|
||||||
}
|
|
||||||
h2, h3, h4 {
|
|
||||||
page-break-after: avoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
a:visited {
|
|
||||||
color: #1a1a1a;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
|
||||||
margin-top: 1.4em;
|
|
||||||
}
|
|
||||||
h5, h6 {
|
|
||||||
font-size: 1em;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
ol, ul {
|
|
||||||
padding-left: 1.7em;
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
li > ol, li > ul {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
blockquote {
|
|
||||||
margin: 1em 0 1em 1.7em;
|
|
||||||
padding-left: 1em;
|
|
||||||
border-left: 2px solid #e6e6e6;
|
|
||||||
color: #606060;
|
|
||||||
}
|
|
||||||
code {
|
|
||||||
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
|
|
||||||
font-size: 85%;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
margin: 1em 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
.sourceCode {
|
|
||||||
background-color: transparent;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
background-color: #1a1a1a;
|
|
||||||
border: none;
|
|
||||||
height: 1px;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin: 1em 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
width: 100%;
|
|
||||||
overflow-x: auto;
|
|
||||||
display: block;
|
|
||||||
font-variant-numeric: lining-nums tabular-nums;
|
|
||||||
}
|
|
||||||
table caption {
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
}
|
|
||||||
tbody {
|
|
||||||
margin-top: 0.5em;
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
border-bottom: 1px solid #1a1a1a;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
border-top: 1px solid #1a1a1a;
|
|
||||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
margin-bottom: 4em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
#TOC li {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
#TOC a:not(:hover) {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
span.smallcaps{font-variant: small-caps;}
|
span.smallcaps{font-variant: small-caps;}
|
||||||
span.underline{text-decoration: underline;}
|
span.underline{text-decoration: underline;}
|
||||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
</style>
|
||||||
ul.task-list{list-style: none;}
|
<style type="text/css">
|
||||||
pre > code.sourceCode { white-space: pre; position: relative; }
|
a.sourceLine { display: inline-block; line-height: 1.25; }
|
||||||
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
|
||||||
pre > code.sourceCode > span:empty { height: 1.2em; }
|
a.sourceLine:empty { height: 1.2em; }
|
||||||
.sourceCode { overflow: visible; }
|
.sourceCode { overflow: visible; }
|
||||||
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
code.sourceCode { white-space: pre; position: relative; }
|
||||||
div.sourceCode { margin: 1em 0; }
|
div.sourceCode { margin: 1em 0; }
|
||||||
pre.sourceCode { margin: 0; }
|
pre.sourceCode { margin: 0; }
|
||||||
@media screen {
|
@media screen {
|
||||||
div.sourceCode { overflow: auto; }
|
div.sourceCode { overflow: auto; }
|
||||||
}
|
}
|
||||||
@media print {
|
@media print {
|
||||||
pre > code.sourceCode { white-space: pre-wrap; }
|
code.sourceCode { white-space: pre-wrap; }
|
||||||
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
a.sourceLine { text-indent: -1em; padding-left: 1em; }
|
||||||
}
|
}
|
||||||
pre.numberSource code
|
pre.numberSource a.sourceLine
|
||||||
{ counter-reset: source-line 0; }
|
{ position: relative; left: -4em; }
|
||||||
pre.numberSource code > span
|
pre.numberSource a.sourceLine::before
|
||||||
{ position: relative; left: -4em; counter-increment: source-line; }
|
{ content: attr(title);
|
||||||
pre.numberSource code > span > a:first-child::before
|
|
||||||
{ content: counter(source-line);
|
|
||||||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||||||
border: none; display: inline-block;
|
border: none; pointer-events: all; display: inline-block;
|
||||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||||
-khtml-user-select: none; -moz-user-select: none;
|
-khtml-user-select: none; -moz-user-select: none;
|
||||||
-ms-user-select: none; user-select: none;
|
-ms-user-select: none; user-select: none;
|
||||||
padding: 0 4px; width: 4em;
|
padding: 0 4px; width: 4em;
|
||||||
color: #aaaaaa;
|
color: #aaaaaa;
|
||||||
}
|
}
|
||||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||||
div.sourceCode
|
div.sourceCode
|
||||||
{ }
|
{ }
|
||||||
@media screen {
|
@media screen {
|
||||||
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
a.sourceLine::before { text-decoration: underline; }
|
||||||
}
|
}
|
||||||
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
||||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
||||||
code span.at { color: #7d9029; } /* Attribute */
|
code span.at { color: #7d9029; } /* Attribute */
|
||||||
code span.bn { color: #40a070; } /* BaseN */
|
code span.bn { color: #40a070; } /* BaseN */
|
||||||
code span.bu { } /* BuiltIn */
|
code span.bu { } /* BuiltIn */
|
||||||
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
||||||
code span.ch { color: #4070a0; } /* Char */
|
code span.ch { color: #4070a0; } /* Char */
|
||||||
code span.cn { color: #880000; } /* Constant */
|
code span.cn { color: #880000; } /* Constant */
|
||||||
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
||||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
||||||
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
||||||
code span.dt { color: #902000; } /* DataType */
|
code span.dt { color: #902000; } /* DataType */
|
||||||
code span.dv { color: #40a070; } /* DecVal */
|
code span.dv { color: #40a070; } /* DecVal */
|
||||||
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
||||||
code span.ex { } /* Extension */
|
code span.ex { } /* Extension */
|
||||||
code span.fl { color: #40a070; } /* Float */
|
code span.fl { color: #40a070; } /* Float */
|
||||||
code span.fu { color: #06287e; } /* Function */
|
code span.fu { color: #06287e; } /* Function */
|
||||||
code span.im { } /* Import */
|
code span.im { } /* Import */
|
||||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
||||||
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
||||||
code span.op { color: #666666; } /* Operator */
|
code span.op { color: #666666; } /* Operator */
|
||||||
code span.ot { color: #007020; } /* Other */
|
code span.ot { color: #007020; } /* Other */
|
||||||
code span.pp { color: #bc7a00; } /* Preprocessor */
|
code span.pp { color: #bc7a00; } /* Preprocessor */
|
||||||
code span.sc { color: #4070a0; } /* SpecialChar */
|
code span.sc { color: #4070a0; } /* SpecialChar */
|
||||||
code span.ss { color: #bb6688; } /* SpecialString */
|
code span.ss { color: #bb6688; } /* SpecialString */
|
||||||
code span.st { color: #4070a0; } /* String */
|
code span.st { color: #4070a0; } /* String */
|
||||||
code span.va { color: #19177c; } /* Variable */
|
code span.va { color: #19177c; } /* Variable */
|
||||||
code span.vs { color: #4070a0; } /* VerbatimString */
|
code span.vs { color: #4070a0; } /* VerbatimString */
|
||||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
||||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
|
||||||
</style>
|
</style>
|
||||||
<!--[if lt IE 9]>
|
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
|
||||||
<![endif]-->
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header id="title-block-header">
|
<header id="title-block-header">
|
||||||
@ -219,18 +83,16 @@
|
|||||||
<p class="author"></p>
|
<p class="author"></p>
|
||||||
<p class="date">30 September 2018</p>
|
<p class="date">30 September 2018</p>
|
||||||
</header>
|
</header>
|
||||||
<nav id="TOC" role="doc-toc">
|
<nav id="TOC">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#name">Name</a></li>
|
<li><a href="#name">Name</a></li>
|
||||||
<li><a href="#description">Description</a></li>
|
<li><a href="#description">Description</a></li>
|
||||||
<li><a href="#usage">Usage</a>
|
<li><a href="#usage">Usage</a><ul>
|
||||||
<ul>
|
|
||||||
<li><a href="#flags">Flags</a></li>
|
<li><a href="#flags">Flags</a></li>
|
||||||
<li><a href="#default-keyboard-bindings">Default keyboard bindings</a></li>
|
<li><a href="#default-keyboard-bindings">Default keyboard bindings</a></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><a href="#examples">Examples</a></li>
|
<li><a href="#examples">Examples</a></li>
|
||||||
<li><a href="#customization">Customization</a>
|
<li><a href="#customization">Customization</a><ul>
|
||||||
<ul>
|
|
||||||
<li><a href="#modular-configuration">Modular Configuration</a></li>
|
<li><a href="#modular-configuration">Modular Configuration</a></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><a href="#bugs">Bugs</a></li>
|
<li><a href="#bugs">Bugs</a></li>
|
||||||
@ -376,8 +238,8 @@
|
|||||||
<p>You can find many extensions to the core feature set in the xmonad- contrib package, available through your package manager or from <a href="https://xmonad.org">xmonad.org</a>.</p>
|
<p>You can find many extensions to the core feature set in the xmonad- contrib package, available through your package manager or from <a href="https://xmonad.org">xmonad.org</a>.</p>
|
||||||
<h2 id="modular-configuration">Modular Configuration</h2>
|
<h2 id="modular-configuration">Modular Configuration</h2>
|
||||||
<p>As of <em>xmonad-0.9</em>, any additional Haskell modules may be placed in <em>~/.xmonad/lib/</em> are available in GHC’s searchpath. Hierarchical modules are supported: for example, the file <em>~/.xmonad/lib/XMonad/Stack/MyAdditions.hs</em> could contain:</p>
|
<p>As of <em>xmonad-0.9</em>, any additional Haskell modules may be placed in <em>~/.xmonad/lib/</em> are available in GHC’s searchpath. Hierarchical modules are supported: for example, the file <em>~/.xmonad/lib/XMonad/Stack/MyAdditions.hs</em> could contain:</p>
|
||||||
<div class="sourceCode" id="cb1"><pre class="sourceCode haskell"><code class="sourceCode haskell"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="kw">module</span> <span class="dt">XMonad.Stack.MyAdditions</span> (function1) <span class="kw">where</span></span>
|
<div class="sourceCode" id="cb1"><pre class="sourceCode haskell"><code class="sourceCode haskell"><a class="sourceLine" id="cb1-1" title="1"><span class="kw">module</span> <span class="dt">XMonad.Stack.MyAdditions</span> (function1) <span class="kw">where</span></a>
|
||||||
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a> function1 <span class="ot">=</span> <span class="fu">error</span> <span class="st">"function1: Not implemented yet!"</span></span></code></pre></div>
|
<a class="sourceLine" id="cb1-2" title="2"> function1 <span class="ot">=</span> <span class="fu">error</span> <span class="st">"function1: Not implemented yet!"</span></a></code></pre></div>
|
||||||
<p>Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that module was contained within xmonad or xmonad-contrib.</p>
|
<p>Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that module was contained within xmonad or xmonad-contrib.</p>
|
||||||
<h1 id="bugs">Bugs</h1>
|
<h1 id="bugs">Bugs</h1>
|
||||||
<p>Probably. If you find any, please report them to the <a href="https://github.com/xmonad/xmonad/issues">bugtracker</a></p>
|
<p>Probably. If you find any, please report them to the <a href="https://github.com/xmonad/xmonad/issues">bugtracker</a></p>
|
||||||
|
210
man/xmonad.1.markdown
Normal file
210
man/xmonad.1.markdown
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
% XMONAD(1) Tiling Window Manager
|
||||||
|
%
|
||||||
|
% 30 September 2018
|
||||||
|
|
||||||
|
# Name
|
||||||
|
|
||||||
|
xmonad - Tiling Window Manager
|
||||||
|
|
||||||
|
# Description
|
||||||
|
|
||||||
|
_xmonad_ 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.
|
||||||
|
_xmonad_ is configured in Haskell, and custom layout algorithms may be
|
||||||
|
implemented by the user in config files. A principle of _xmonad_ is
|
||||||
|
predictability: the user should know in advance precisely the window
|
||||||
|
arrangement that will result from any action.
|
||||||
|
|
||||||
|
By default, _xmonad_ 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.
|
||||||
|
|
||||||
|
By utilizing the expressivity of a modern functional language with a rich
|
||||||
|
static type system, _xmonad_ 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.
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
_xmonad_ 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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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 _xmonad_
|
||||||
|
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.
|
||||||
|
|
||||||
|
## Flags
|
||||||
|
|
||||||
|
xmonad has several flags which you may pass to the executable.
|
||||||
|
These flags are:
|
||||||
|
|
||||||
|
--recompile
|
||||||
|
: Recompiles your _xmonad.hs_ configuration
|
||||||
|
|
||||||
|
--restart
|
||||||
|
: Causes the currently running _xmonad_ process to restart
|
||||||
|
|
||||||
|
--replace
|
||||||
|
: Replace the current window manager with xmonad
|
||||||
|
|
||||||
|
--version
|
||||||
|
: Display version of _xmonad_
|
||||||
|
|
||||||
|
--verbose-version
|
||||||
|
: Display detailed version of _xmonad_
|
||||||
|
|
||||||
|
## Default keyboard bindings
|
||||||
|
|
||||||
|
mod-shift-return
|
||||||
|
: Launch terminal
|
||||||
|
|
||||||
|
mod-p
|
||||||
|
: Launch dmenu
|
||||||
|
|
||||||
|
mod-shift-p
|
||||||
|
: Launch gmrun
|
||||||
|
|
||||||
|
mod-shift-c
|
||||||
|
: Close the focused window
|
||||||
|
|
||||||
|
mod-space
|
||||||
|
: Rotate through the available layout algorithms
|
||||||
|
|
||||||
|
mod-shift-space
|
||||||
|
: Reset the layouts on the current workspace to default
|
||||||
|
|
||||||
|
mod-n
|
||||||
|
: Resize viewed windows to the correct size
|
||||||
|
|
||||||
|
mod-tab
|
||||||
|
: Move focus to the next window
|
||||||
|
|
||||||
|
mod-shift-tab
|
||||||
|
: Move focus to the previous window
|
||||||
|
|
||||||
|
mod-j
|
||||||
|
: Move focus to the next window
|
||||||
|
|
||||||
|
mod-k
|
||||||
|
: Move focus to the previous window
|
||||||
|
|
||||||
|
mod-m
|
||||||
|
: Move focus to the master window
|
||||||
|
|
||||||
|
mod-return
|
||||||
|
: Swap the focused window and the master window
|
||||||
|
|
||||||
|
mod-shift-j
|
||||||
|
: Swap the focused window with the next window
|
||||||
|
|
||||||
|
mod-shift-k
|
||||||
|
: Swap the focused window with the previous window
|
||||||
|
|
||||||
|
mod-h
|
||||||
|
: Shrink the master area
|
||||||
|
|
||||||
|
mod-l
|
||||||
|
: Expand the master area
|
||||||
|
|
||||||
|
mod-t
|
||||||
|
: Push window back into tiling
|
||||||
|
|
||||||
|
mod-comma
|
||||||
|
: Increment the number of windows in the master area
|
||||||
|
|
||||||
|
mod-period
|
||||||
|
: Deincrement the number of windows in the master area
|
||||||
|
|
||||||
|
mod-shift-q
|
||||||
|
: Quit xmonad
|
||||||
|
|
||||||
|
mod-q
|
||||||
|
: Restart xmonad
|
||||||
|
|
||||||
|
mod-shift-slash
|
||||||
|
: Run xmessage with a summary of the default keybindings (useful for beginners)
|
||||||
|
|
||||||
|
mod-question
|
||||||
|
: Run xmessage with a summary of the default keybindings (useful for beginners)
|
||||||
|
|
||||||
|
mod-[1..9]
|
||||||
|
: Switch to workspace N
|
||||||
|
|
||||||
|
mod-shift-[1..9]
|
||||||
|
: Move client to workspace N
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
mod-button1
|
||||||
|
: Set the window to floating mode and move by dragging
|
||||||
|
|
||||||
|
mod-button2
|
||||||
|
: Raise the window to the top of the stack
|
||||||
|
|
||||||
|
mod-button3
|
||||||
|
: Set the window to floating mode and resize by dragging
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
To use xmonad as your window manager add to your _~/.xinitrc_ file:
|
||||||
|
|
||||||
|
> exec xmonad
|
||||||
|
|
||||||
|
# Customization
|
||||||
|
xmonad is customized in your _xmonad.hs_, and then restarted with mod-q.
|
||||||
|
You can choose where your configuration file lives by
|
||||||
|
|
||||||
|
1. Setting `XMONAD_DATA_DIR,` `XMONAD_CONFIG_DIR`, and
|
||||||
|
`XMONAD_CACHE_DIR`; _xmonad.hs_ is then expected to be in
|
||||||
|
`XMONAD_CONFIG_DIR`.
|
||||||
|
2. Creating _xmonad.hs_ in _~/.xmonad_.
|
||||||
|
3. Creating _xmonad.hs_ in `XDG_CONFIG_HOME`. Note that, in this
|
||||||
|
case, xmonad will use `XDG_DATA_HOME` and `XDG_CACHE_HOME` for its
|
||||||
|
data and cache directory respectively.
|
||||||
|
|
||||||
|
You can find many extensions to the core feature set in the xmonad-
|
||||||
|
contrib package, available through your package manager or from
|
||||||
|
[xmonad.org].
|
||||||
|
|
||||||
|
## Modular Configuration
|
||||||
|
As of _xmonad-0.9_, any additional Haskell modules may be placed in
|
||||||
|
_~/.xmonad/lib/_ are available in GHC's searchpath. Hierarchical modules
|
||||||
|
are supported: for example, the file
|
||||||
|
_~/.xmonad/lib/XMonad/Stack/MyAdditions.hs_ could contain:
|
||||||
|
|
||||||
|
```haskell
|
||||||
|
module XMonad.Stack.MyAdditions (function1) where
|
||||||
|
function1 = error "function1: Not implemented yet!"
|
||||||
|
```
|
||||||
|
|
||||||
|
Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that
|
||||||
|
module was contained within xmonad or xmonad-contrib.
|
||||||
|
|
||||||
|
# Bugs
|
||||||
|
Probably. If you find any, please report them to the [bugtracker]
|
||||||
|
|
||||||
|
[xmonad.org]: https://xmonad.org
|
||||||
|
[bugtracker]: https://github.com/xmonad/xmonad/issues
|
Loading…
x
Reference in New Issue
Block a user