mirror of
https://github.com/xmonad/xmonad.git
synced 2025-05-19 00:20:22 -07:00
Update documentation
This commit is contained in:
parent
735fb58f6c
commit
70a75e5e3f
14
CHANGES.md
14
CHANGES.md
@ -15,6 +15,20 @@
|
|||||||
|
|
||||||
* Compatibility with GHC 9.0
|
* Compatibility with GHC 9.0
|
||||||
|
|
||||||
|
* Improve handling of XDG directories.
|
||||||
|
|
||||||
|
1. If all three of xmonad's environment variables (`XMONAD_DATA_DIR,`
|
||||||
|
`XMONAD_CONFIG_DIR`, and `XMONAD_CACHE_DIR`) are set, use them.
|
||||||
|
2. If there is a build script called `build` (see [here](https://github.com/xmonad/xmonad-testing/tree/master/build-scripts) for usage
|
||||||
|
examples) or configuration `xmonad.hs` in `~/.xmonad`, set all three
|
||||||
|
directories to `~/.xmonad`.
|
||||||
|
3. Otherwise, use the `xmonad` directory in `XDG_DATA_HOME`,
|
||||||
|
`XDG_CONFIG_HOME`, and `XDG_CACHE_HOME` (or their respective
|
||||||
|
fallbacks). These directories are created if necessary.
|
||||||
|
|
||||||
|
In the cases of 1. and 3., the build script or executable is
|
||||||
|
expected to be in the config dir.
|
||||||
|
|
||||||
## 0.15 (September 30, 2018)
|
## 0.15 (September 30, 2018)
|
||||||
|
|
||||||
* Reimplement `sendMessage` to deal properly with windowset changes made
|
* Reimplement `sendMessage` to deal properly with windowset changes made
|
||||||
|
9
CONFIG
9
CONFIG
@ -4,8 +4,13 @@ xmonad is configured by creating and editing the file:
|
|||||||
|
|
||||||
~/.xmonad/xmonad.hs
|
~/.xmonad/xmonad.hs
|
||||||
|
|
||||||
xmonad then uses settings from this file as arguments to the window manager,
|
xmonad then uses settings from this file as arguments to the window
|
||||||
on startup. For a complete example of possible settings, see the file:
|
manager, on startup. It is also possible to use alternative paths for
|
||||||
|
your configuration file; for that, consult
|
||||||
|
|
||||||
|
man xmonad
|
||||||
|
|
||||||
|
For a complete example of possible settings see the file:
|
||||||
|
|
||||||
man/xmonad.hs
|
man/xmonad.hs
|
||||||
|
|
||||||
|
230
man/xmonad.1
230
man/xmonad.1
@ -1,13 +1,13 @@
|
|||||||
.\" Automatically generated by Pandoc 2.2.1
|
.\" Automatically generated by Pandoc 2.11.3.1
|
||||||
.\"
|
.\"
|
||||||
.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[] 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
|
||||||
Haskell.
|
Haskell.
|
||||||
Windows are managed using automatic layout algorithms, which can be
|
Windows are managed using automatic layout algorithms, which can be
|
||||||
dynamically reconfigured.
|
dynamically reconfigured.
|
||||||
@ -15,14 +15,14 @@ At any time windows are arranged so as to maximize the use of screen
|
|||||||
real estate.
|
real estate.
|
||||||
All features of the window manager are accessible purely from the
|
All features of the window manager are accessible purely from the
|
||||||
keyboard: a mouse is entirely optional.
|
keyboard: a mouse is entirely optional.
|
||||||
\f[I]xmonad\f[] is configured in Haskell, and custom layout algorithms
|
\f[I]xmonad\f[R] is configured in Haskell, and custom layout algorithms
|
||||||
may be implemented by the user in config files.
|
may be implemented by the user in config files.
|
||||||
A principle of \f[I]xmonad\f[] is predictability: the user should know
|
A principle of \f[I]xmonad\f[R] is predictability: the user should know
|
||||||
in advance precisely the window arrangement that will result from any
|
in advance precisely the window arrangement that will result from any
|
||||||
action.
|
action.
|
||||||
.PP
|
.PP
|
||||||
By default, \f[I]xmonad\f[] provides three layout algorithms: tall, wide
|
By default, \f[I]xmonad\f[R] provides three layout algorithms: tall,
|
||||||
and fullscreen.
|
wide and fullscreen.
|
||||||
In tall or wide mode, windows are tiled and arranged to prevent overlap
|
In tall or wide mode, windows are tiled and arranged to prevent overlap
|
||||||
and maximize screen use.
|
and maximize screen use.
|
||||||
Sets of windows are grouped together on virtual screens, and each screen
|
Sets of windows are grouped together on virtual screens, and each screen
|
||||||
@ -31,34 +31,34 @@ Multiple physical monitors are supported via Xinerama, allowing
|
|||||||
simultaneous display of a number of screens.
|
simultaneous display of a number of screens.
|
||||||
.PP
|
.PP
|
||||||
By utilizing the expressivity of a modern functional language with a
|
By utilizing the expressivity of a modern functional language with a
|
||||||
rich static type system, \f[I]xmonad\f[] provides a complete, featureful
|
rich static type system, \f[I]xmonad\f[R] provides a complete,
|
||||||
window manager in less than 1200 lines of code, with an emphasis on
|
featureful window manager in less than 1200 lines of code, with an
|
||||||
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[] 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[] 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.
|
||||||
When switching workspaces to one that is already visible, the current
|
When switching workspaces to one that is already visible, the current
|
||||||
and visible workspaces are swapped.
|
and visible workspaces are swapped.
|
||||||
@ -67,221 +67,159 @@ 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
|
||||||
.B \[en]recompile
|
\[en]recompile
|
||||||
Recompiles your configuration in \f[I]~/.xmonad/xmonad.hs\f[]
|
Recompiles your \f[I]xmonad.hs\f[R] configuration
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \[en]restart
|
\[en]restart
|
||||||
Causes the currently running \f[I]xmonad\f[] process to restart
|
Causes the currently running \f[I]xmonad\f[R] process to restart
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \[en]replace
|
\[en]replace
|
||||||
Replace the current window manager with xmonad
|
Replace the current window manager with xmonad
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \[en]version
|
\[en]version
|
||||||
Display version of \f[I]xmonad\f[]
|
Display version of \f[I]xmonad\f[R]
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B \[en]verbose\-version
|
\[en]verbose-version
|
||||||
Display detailed version of \f[I]xmonad\f[]
|
Display detailed version of \f[I]xmonad\f[R]
|
||||||
.RS
|
.SS Default keyboard bindings
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
##Default keyboard bindings
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-return
|
mod-shift-return
|
||||||
Launch terminal
|
Launch terminal
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-p
|
mod-p
|
||||||
Launch dmenu
|
Launch dmenu
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-p
|
mod-shift-p
|
||||||
Launch gmrun
|
Launch gmrun
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-c
|
mod-shift-c
|
||||||
Close the focused window
|
Close the focused window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-space
|
mod-space
|
||||||
Rotate through the available layout algorithms
|
Rotate through the available layout algorithms
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-space
|
mod-shift-space
|
||||||
Reset the layouts on the current workspace to default
|
Reset the layouts on the current workspace to default
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-n
|
mod-n
|
||||||
Resize viewed windows to the correct size
|
Resize viewed windows to the correct size
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-tab
|
mod-tab
|
||||||
Move focus to the next window
|
Move focus to the next window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-tab
|
mod-shift-tab
|
||||||
Move focus to the previous window
|
Move focus to the previous window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-j
|
mod-j
|
||||||
Move focus to the next window
|
Move focus to the next window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-k
|
mod-k
|
||||||
Move focus to the previous window
|
Move focus to the previous window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-m
|
mod-m
|
||||||
Move focus to the master window
|
Move focus to the master window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-return
|
mod-return
|
||||||
Swap the focused window and the master window
|
Swap the focused window and the master window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-j
|
mod-shift-j
|
||||||
Swap the focused window with the next window
|
Swap the focused window with the next window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-k
|
mod-shift-k
|
||||||
Swap the focused window with the previous window
|
Swap the focused window with the previous window
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-h
|
mod-h
|
||||||
Shrink the master area
|
Shrink the master area
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-l
|
mod-l
|
||||||
Expand the master area
|
Expand the master area
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-t
|
mod-t
|
||||||
Push window back into tiling
|
Push window back into tiling
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-comma
|
mod-comma
|
||||||
Increment the number of windows in the master area
|
Increment the number of windows in the master area
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-period
|
mod-period
|
||||||
Deincrement the number of windows in the master area
|
Deincrement the number of windows in the master area
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-q
|
mod-shift-q
|
||||||
Quit xmonad
|
Quit xmonad
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-q
|
mod-q
|
||||||
Restart xmonad
|
Restart xmonad
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-slash
|
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)
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-question
|
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)
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-[1..9]
|
mod-[1..9]
|
||||||
Switch to workspace N
|
Switch to workspace N
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-[1..9]
|
mod-shift-[1..9]
|
||||||
Move client to workspace N
|
Move client to workspace N
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-{w,e,r}
|
mod-{w,e,r}
|
||||||
Switch to physical/Xinerama screens 1, 2, or 3
|
Switch to physical/Xinerama screens 1, 2, or 3
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-shift\-{w,e,r}
|
mod-shift-{w,e,r}
|
||||||
Move client to screen 1, 2, or 3
|
Move client to screen 1, 2, or 3
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-button1
|
mod-button1
|
||||||
Set the window to floating mode and move by dragging
|
Set the window to floating mode and move by dragging
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-button2
|
mod-button2
|
||||||
Raise the window to the top of the stack
|
Raise the window to the top of the stack
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.TP
|
.TP
|
||||||
.B mod\-button3
|
mod-button3
|
||||||
Set the window to floating mode and resize by dragging
|
Set the window to floating mode and resize by dragging
|
||||||
.RS
|
|
||||||
.RE
|
|
||||||
.SH Examples
|
.SH Examples
|
||||||
.PP
|
.PP
|
||||||
To use xmonad as your window manager add to your \f[I]~/.xinitrc\f[]
|
To use xmonad as your window manager add to your
|
||||||
file:
|
\f[I]\[ti]/.xinitrc\f[R] file:
|
||||||
.RS
|
.RS
|
||||||
.PP
|
.PP
|
||||||
exec xmonad
|
exec xmonad
|
||||||
.RE
|
.RE
|
||||||
.SH Customization
|
.SH Customization
|
||||||
.PP
|
.PP
|
||||||
xmonad is customized in ~/.xmonad/xmonad.hs, and then restarted with
|
xmonad is customized in your \f[I]xmonad.hs\f[R], and then restarted
|
||||||
mod\-q.
|
with mod-q.
|
||||||
|
You can choose where your configuration file lives by
|
||||||
|
.IP "1." 3
|
||||||
|
Setting \f[C]XMONAD_DATA_DIR,\f[R] \f[C]XMONAD_CONFIG_DIR\f[R], and
|
||||||
|
\f[C]XMONAD_CACHE_DIR\f[R]; \f[I]xmonad.hs\f[R] is then expected to be
|
||||||
|
in \f[C]XMONAD_CONFIG_DIR\f[R].
|
||||||
|
.IP "2." 3
|
||||||
|
Creating \f[I]xmonad.hs\f[R] in \f[I]\[ti]/.xmonad\f[R].
|
||||||
|
.IP "3." 3
|
||||||
|
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
|
||||||
|
\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 (http://xmonad.org).
|
xmonad.org (https://xmonad.org).
|
||||||
.SS Modular Configuration
|
.SS Modular Configuration
|
||||||
.PP
|
.PP
|
||||||
As of \f[I]xmonad\-0.9\f[], any additional Haskell modules may be placed
|
As of \f[I]xmonad-0.9\f[R], any additional Haskell modules may be placed
|
||||||
in \f[I]~/.xmonad/lib/\f[] are available in GHC's searchpath.
|
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]~/.xmonad/lib/XMonad/Stack/MyAdditions.hs\f[] could contain:
|
\f[I]\[ti]/.xmonad/lib/XMonad/Stack/MyAdditions.hs\f[R] could contain:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
module\ XMonad.Stack.MyAdditions\ (function1)\ where
|
module XMonad.Stack.MyAdditions (function1) where
|
||||||
\ \ function1\ =\ error\ "function1:\ Not\ implemented\ yet!"
|
function1 = error \[dq]function1: Not implemented yet!\[dq]
|
||||||
\f[]
|
\f[R]
|
||||||
.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,94 +7,230 @@
|
|||||||
<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 type="text/css">
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
html {
|
||||||
span.smallcaps{font-variant: small-caps;}
|
line-height: 1.5;
|
||||||
span.underline{text-decoration: underline;}
|
font-family: Georgia, serif;
|
||||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
font-size: 20px;
|
||||||
</style>
|
color: #1a1a1a;
|
||||||
<style type="text/css">
|
background-color: #fdfdfd;
|
||||||
a.sourceLine { display: inline-block; line-height: 1.25; }
|
}
|
||||||
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
|
body {
|
||||||
a.sourceLine:empty { height: 1.2em; }
|
margin: 0 auto;
|
||||||
.sourceCode { overflow: visible; }
|
max-width: 36em;
|
||||||
code.sourceCode { white-space: pre; position: relative; }
|
padding-left: 50px;
|
||||||
div.sourceCode { margin: 1em 0; }
|
padding-right: 50px;
|
||||||
pre.sourceCode { margin: 0; }
|
padding-top: 50px;
|
||||||
@media screen {
|
padding-bottom: 50px;
|
||||||
div.sourceCode { overflow: auto; }
|
hyphens: auto;
|
||||||
}
|
word-wrap: break-word;
|
||||||
@media print {
|
text-rendering: optimizeLegibility;
|
||||||
code.sourceCode { white-space: pre-wrap; }
|
font-kerning: normal;
|
||||||
a.sourceLine { text-indent: -1em; padding-left: 1em; }
|
}
|
||||||
}
|
@media (max-width: 600px) {
|
||||||
pre.numberSource a.sourceLine
|
body {
|
||||||
{ position: relative; left: -4em; }
|
font-size: 0.9em;
|
||||||
pre.numberSource a.sourceLine::before
|
padding: 1em;
|
||||||
{ content: attr(data-line-number);
|
}
|
||||||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
}
|
||||||
border: none; pointer-events: all; display: inline-block;
|
@media print {
|
||||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
body {
|
||||||
-khtml-user-select: none; -moz-user-select: none;
|
background-color: transparent;
|
||||||
-ms-user-select: none; user-select: none;
|
color: black;
|
||||||
padding: 0 4px; width: 4em;
|
font-size: 12pt;
|
||||||
color: #aaaaaa;
|
}
|
||||||
}
|
p, h2, h3 {
|
||||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
orphans: 3;
|
||||||
div.sourceCode
|
widows: 3;
|
||||||
{ }
|
}
|
||||||
@media screen {
|
h2, h3, h4 {
|
||||||
a.sourceLine::before { text-decoration: underline; }
|
page-break-after: avoid;
|
||||||
}
|
}
|
||||||
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
}
|
||||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
p {
|
||||||
code span.at { color: #7d9029; } /* Attribute */
|
margin: 1em 0;
|
||||||
code span.bn { color: #40a070; } /* BaseN */
|
}
|
||||||
code span.bu { } /* BuiltIn */
|
a {
|
||||||
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
color: #1a1a1a;
|
||||||
code span.ch { color: #4070a0; } /* Char */
|
}
|
||||||
code span.cn { color: #880000; } /* Constant */
|
a:visited {
|
||||||
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
color: #1a1a1a;
|
||||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
}
|
||||||
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
img {
|
||||||
code span.dt { color: #902000; } /* DataType */
|
max-width: 100%;
|
||||||
code span.dv { color: #40a070; } /* DecVal */
|
}
|
||||||
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
h1, h2, h3, h4, h5, h6 {
|
||||||
code span.ex { } /* Extension */
|
margin-top: 1.4em;
|
||||||
code span.fl { color: #40a070; } /* Float */
|
}
|
||||||
code span.fu { color: #06287e; } /* Function */
|
h5, h6 {
|
||||||
code span.im { } /* Import */
|
font-size: 1em;
|
||||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
font-style: italic;
|
||||||
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
}
|
||||||
code span.op { color: #666666; } /* Operator */
|
h6 {
|
||||||
code span.ot { color: #007020; } /* Other */
|
font-weight: normal;
|
||||||
code span.pp { color: #bc7a00; } /* Preprocessor */
|
}
|
||||||
code span.sc { color: #4070a0; } /* SpecialChar */
|
ol, ul {
|
||||||
code span.ss { color: #bb6688; } /* SpecialString */
|
padding-left: 1.7em;
|
||||||
code span.st { color: #4070a0; } /* String */
|
margin-top: 1em;
|
||||||
code span.va { color: #19177c; } /* Variable */
|
}
|
||||||
code span.vs { color: #4070a0; } /* VerbatimString */
|
li > ol, li > ul {
|
||||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
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;}
|
||||||
|
span.smallcaps{font-variant: small-caps;}
|
||||||
|
span.underline{text-decoration: underline;}
|
||||||
|
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||||
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||||
|
ul.task-list{list-style: none;}
|
||||||
|
pre > code.sourceCode { white-space: pre; position: relative; }
|
||||||
|
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||||||
|
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||||||
|
.sourceCode { overflow: visible; }
|
||||||
|
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||||||
|
div.sourceCode { margin: 1em 0; }
|
||||||
|
pre.sourceCode { margin: 0; }
|
||||||
|
@media screen {
|
||||||
|
div.sourceCode { overflow: auto; }
|
||||||
|
}
|
||||||
|
@media print {
|
||||||
|
pre > code.sourceCode { white-space: pre-wrap; }
|
||||||
|
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||||||
|
}
|
||||||
|
pre.numberSource code
|
||||||
|
{ counter-reset: source-line 0; }
|
||||||
|
pre.numberSource code > span
|
||||||
|
{ position: relative; left: -4em; counter-increment: source-line; }
|
||||||
|
pre.numberSource code > span > a:first-child::before
|
||||||
|
{ content: counter(source-line);
|
||||||
|
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||||||
|
border: none; display: inline-block;
|
||||||
|
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||||
|
-khtml-user-select: none; -moz-user-select: none;
|
||||||
|
-ms-user-select: none; user-select: none;
|
||||||
|
padding: 0 4px; width: 4em;
|
||||||
|
color: #aaaaaa;
|
||||||
|
}
|
||||||
|
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||||
|
div.sourceCode
|
||||||
|
{ }
|
||||||
|
@media screen {
|
||||||
|
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||||||
|
}
|
||||||
|
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
||||||
|
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
||||||
|
code span.at { color: #7d9029; } /* Attribute */
|
||||||
|
code span.bn { color: #40a070; } /* BaseN */
|
||||||
|
code span.bu { } /* BuiltIn */
|
||||||
|
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
||||||
|
code span.ch { color: #4070a0; } /* Char */
|
||||||
|
code span.cn { color: #880000; } /* Constant */
|
||||||
|
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
||||||
|
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
||||||
|
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
||||||
|
code span.dt { color: #902000; } /* DataType */
|
||||||
|
code span.dv { color: #40a070; } /* DecVal */
|
||||||
|
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
||||||
|
code span.ex { } /* Extension */
|
||||||
|
code span.fl { color: #40a070; } /* Float */
|
||||||
|
code span.fu { color: #06287e; } /* Function */
|
||||||
|
code span.im { } /* Import */
|
||||||
|
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
||||||
|
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
||||||
|
code span.op { color: #666666; } /* Operator */
|
||||||
|
code span.ot { color: #007020; } /* Other */
|
||||||
|
code span.pp { color: #bc7a00; } /* Preprocessor */
|
||||||
|
code span.sc { color: #4070a0; } /* SpecialChar */
|
||||||
|
code span.ss { color: #bb6688; } /* SpecialString */
|
||||||
|
code span.st { color: #4070a0; } /* String */
|
||||||
|
code span.va { color: #19177c; } /* Variable */
|
||||||
|
code span.vs { color: #4070a0; } /* VerbatimString */
|
||||||
|
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]>
|
<!--[if lt IE 9]>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header id="title-block-header">
|
||||||
<h1 class="title">XMONAD(1) Tiling Window Manager</h1>
|
<h1 class="title">XMONAD(1) Tiling Window Manager</h1>
|
||||||
<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">
|
<nav id="TOC" role="doc-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><ul>
|
<li><a href="#usage">Usage</a>
|
||||||
|
<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>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><a href="#examples">Examples</a></li>
|
<li><a href="#examples">Examples</a></li>
|
||||||
<li><a href="#customization">Customization</a><ul>
|
<li><a href="#customization">Customization</a>
|
||||||
|
<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>
|
||||||
@ -114,7 +250,7 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
|
|||||||
<p>xmonad has several flags which you may pass to the executable. These flags are:</p>
|
<p>xmonad has several flags which you may pass to the executable. These flags are:</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>–recompile</dt>
|
<dt>–recompile</dt>
|
||||||
<dd>Recompiles your configuration in <em>~/.xmonad/xmonad.hs</em>
|
<dd>Recompiles your <em>xmonad.hs</em> configuration
|
||||||
</dd>
|
</dd>
|
||||||
<dt>–restart</dt>
|
<dt>–restart</dt>
|
||||||
<dd>Causes the currently running <em>xmonad</em> process to restart
|
<dd>Causes the currently running <em>xmonad</em> process to restart
|
||||||
@ -129,7 +265,7 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
|
|||||||
<dd>Display detailed version of <em>xmonad</em>
|
<dd>Display detailed version of <em>xmonad</em>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<p>##Default keyboard bindings</p>
|
<h2 id="default-keyboard-bindings">Default keyboard bindings</h2>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>mod-shift-return</dt>
|
<dt>mod-shift-return</dt>
|
||||||
<dd>Launch terminal
|
<dd>Launch terminal
|
||||||
@ -231,12 +367,17 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
|
|||||||
<p>exec xmonad</p>
|
<p>exec xmonad</p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<h1 id="customization">Customization</h1>
|
<h1 id="customization">Customization</h1>
|
||||||
<p>xmonad is customized in ~/.xmonad/xmonad.hs, and then restarted with mod-q.</p>
|
<p>xmonad is customized in your <em>xmonad.hs</em>, and then restarted with mod-q. You can choose where your configuration file lives by</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="http://xmonad.org">xmonad.org</a>.</p>
|
<ol type="1">
|
||||||
|
<li>Setting <code>XMONAD_DATA_DIR,</code> <code>XMONAD_CONFIG_DIR</code>, and <code>XMONAD_CACHE_DIR</code>; <em>xmonad.hs</em> is then expected to be in <code>XMONAD_CONFIG_DIR</code>.</li>
|
||||||
|
<li>Creating <em>xmonad.hs</em> in <em>~/.xmonad</em>.</li>
|
||||||
|
<li>Creating <em>xmonad.hs</em> in <code>XDG_CONFIG_HOME</code>. Note that, in this case, xmonad will use <code>XDG_DATA_HOME</code> and <code>XDG_CACHE_HOME</code> for its data and cache directory respectively.</li>
|
||||||
|
</ol>
|
||||||
|
<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"><a class="sourceLine" id="cb1-1" data-line-number="1"><span class="kw">module</span> <span class="dt">XMonad.Stack.MyAdditions</span> (function1) <span class="kw">where</span></a>
|
<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>
|
||||||
<a class="sourceLine" id="cb1-2" data-line-number="2"> function1 <span class="fu">=</span> error <span class="st">"function1: Not implemented yet!"</span></a></code></pre></div>
|
<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>
|
||||||
<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>
|
||||||
|
@ -58,7 +58,7 @@ xmonad has several flags which you may pass to the executable.
|
|||||||
These flags are:
|
These flags are:
|
||||||
|
|
||||||
--recompile
|
--recompile
|
||||||
: Recompiles your configuration in _~/.xmonad/xmonad.hs_
|
: Recompiles your _xmonad.hs_ configuration
|
||||||
|
|
||||||
--restart
|
--restart
|
||||||
: Causes the currently running _xmonad_ process to restart
|
: Causes the currently running _xmonad_ process to restart
|
||||||
@ -83,8 +83,16 @@ To use xmonad as your window manager add to your _~/.xinitrc_ file:
|
|||||||
> exec xmonad
|
> exec xmonad
|
||||||
|
|
||||||
# Customization
|
# Customization
|
||||||
xmonad is customized in ~/.xmonad/xmonad.hs, and then restarted
|
xmonad is customized in your _xmonad.hs_, and then restarted with mod-q.
|
||||||
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-
|
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
|
||||||
@ -107,5 +115,5 @@ module was contained within xmonad or xmonad-contrib.
|
|||||||
# Bugs
|
# Bugs
|
||||||
Probably. If you find any, please report them to the [bugtracker]
|
Probably. If you find any, please report them to the [bugtracker]
|
||||||
|
|
||||||
[xmonad.org]: http://xmonad.org
|
[xmonad.org]: https://xmonad.org
|
||||||
[bugtracker]: https://github.com/xmonad/xmonad/issues
|
[bugtracker]: https://github.com/xmonad/xmonad/issues
|
||||||
|
Loading…
x
Reference in New Issue
Block a user