2013-06-26 21:50:01 +02:00
'\" t
. \" Title: bspwm
. \" Author: [see the "Author" section]
2016-05-24 16:32:40 +02:00
. \" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
2019-01-24 23:52:08 -05:00
. \" Date: 01/24/2019
2013-06-26 21:50:01 +02:00
. \" Manual: Bspwm Manual
2019-01-24 23:52:08 -05:00
. \" Source: Bspwm 0.9.5-31-ga8b40f5
2013-06-26 21:50:01 +02:00
. \" Language: English
. \"
2019-01-24 23:52:08 -05:00
.TH "BSPWM" "1" "01/24/2019" "Bspwm 0\&.9\&.5\-31\-ga8b40f5" "Bspwm Manual"
2013-06-26 21:50:01 +02:00
. \" -----------------------------------------------------------------
. \" * Define some portability stuff
. \" -----------------------------------------------------------------
. \" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
. \" http://bugs.debian.org/507673
. \" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
. \" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n (.g .ds Aq \(aq
.el .ds Aq '
. \" -----------------------------------------------------------------
. \" * set default formatting
. \" -----------------------------------------------------------------
. \" disable hyphenation
.nh
. \" disable justification (adjust text to left margin only)
.ad l
. \" -----------------------------------------------------------------
. \" * MAIN CONTENT STARTS HERE *
. \" -----------------------------------------------------------------
.SH "NAME"
2013-09-10 11:17:54 +02:00
bspwm \- Binary space partitioning window manager
2013-06-26 21:50:01 +02:00
.SH "SYNOPSIS"
.sp
2013-11-07 14:28:39 +01:00
\fB bspwm\fR [\fB \- h\fR |\fB \- v\fR |\fB \- c\fR \fI CONFIG_PATH\fR ]
2013-06-26 21:50:01 +02:00
.sp
2015-12-22 19:25:45 +01:00
\fB bspc\fR \fI DOMAIN\fR [\fI SELECTOR\fR ] \fI COMMANDS\fR
2016-03-21 14:28:04 +01:00
.sp
\fB bspc\fR \fI COMMAND\fR [\fI OPTIONS\fR ] [\fI ARGUMENTS\fR ]
2013-06-26 21:50:01 +02:00
.SH "DESCRIPTION"
.sp
\fB bspwm\fR is a tiling window manager that represents windows as the leaves of a full binary tree\& .
.sp
It is controlled and configured via \fB bspc\fR \& .
2013-07-08 11:42:05 +02:00
.SH "OPTIONS"
.PP
\fB \- h\fR
.RS 4
Print the synopsis and exit\& .
.RE
.PP
\fB \- v\fR
.RS 4
Print the version and exit\& .
.RE
.PP
2013-07-29 10:27:04 +02:00
\fB \- c\fR \fI CONFIG_PATH\fR
.RS 4
Use the given configuration file\& .
.RE
2013-07-12 23:04:50 -04:00
.SH "COMMON DEFINITIONS"
2013-07-08 11:42:05 +02:00
.sp
.if n \{ \
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
. \}
.nf
2015-12-22 19:25:45 +01:00
DIR := north | west | south | east
2013-07-12 23:04:50 -04:00
CYCLE_DIR := next | prev
2013-07-08 11:42:05 +02:00
.fi
.if n \{ \
2013-06-26 21:50:01 +02:00
.RE
2013-07-08 11:42:05 +02:00
. \}
2013-07-12 23:04:50 -04:00
.SH "SELECTORS"
.sp
2015-12-22 19:25:45 +01:00
Selectors are used to select a target node, desktop, or monitor\& . A selector can either describe the target relatively or name it globally\& .
2013-07-12 23:04:50 -04:00
.sp
2016-05-20 11:41:36 +02:00
Selectors consist of an optional reference, a descriptor and any number of non\- conflicting modifiers as follows:
2013-07-12 23:04:50 -04:00
.sp
.if n \{ \
.RS 4
. \}
.nf
2016-05-20 11:41:36 +02:00
[REFERENCE#]DESCRIPTOR(\& .MODIFIER)*
2013-07-12 23:04:50 -04:00
.fi
.if n \{ \
.RE
. \}
.sp
2016-05-20 11:41:36 +02:00
The relative targets are computed in relation to the given reference (the default reference value is \fB focused\fR )\& .
.sp
An exclamation mark can be prepended to any modifier in order to reverse its meaning\& .
2017-08-22 12:03:23 +02:00
.sp
The following characters cannot be used in monitor or desktop names: \fB #\fR , \fB :\fR , \fB \& .\fR \& .
2017-09-08 21:23:53 +02:00
.sp
The special selector \fB %<name>\fR can be used to select a monitor or a desktop with an invalid name\& .
2015-12-22 19:25:45 +01:00
.SS "Node"
2013-07-12 23:04:50 -04:00
.sp
2015-12-22 19:25:45 +01:00
Select a node\& .
2013-07-12 23:04:50 -04:00
.sp
.if n \{ \
.RS 4
. \}
.nf
2018-03-07 14:14:48 +01:00
NODE_SEL := [NODE_SEL#](DIR|CYCLE_DIR|PATH|any|last|newest|
2018-06-25 18:16:38 +02:00
older|newer|focused|pointed|biggest|smallest|
2018-12-14 18:10:19 +01:00
<node_id>)[\& .[!]focused][\& .[!]active][\& .[!]automatic][\& .[!]local]
2018-06-19 10:14:09 +02:00
[\& .[!]leaf][\& .[!]window][\& .[!]STATE][\& .[!]FLAG][\& .[!]LAYER]
[\& .[!]same_class][\& .[!]descendant_of][\& .[!]ancestor_of]
2015-12-22 19:25:45 +01:00
STATE := tiled|pseudo_tiled|floating|fullscreen
2018-03-07 12:01:58 +01:00
FLAG := hidden|sticky|private|locked|marked|urgent
2015-12-22 19:25:45 +01:00
LAYER := below|normal|above
2016-02-22 20:47:57 +01:00
PATH := @[DESKTOP_SEL:][[/]JUMP](/JUMP)*
2015-12-22 19:25:45 +01:00
JUMP := first|1|second|2|brother|parent|DIR
2013-07-12 23:04:50 -04:00
.fi
.if n \{ \
.RE
. \}
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Descriptors\fR
.RS 4
.PP
2013-07-12 23:04:50 -04:00
\fI DIR\fR
.RS 4
2016-05-09 16:55:31 +02:00
Selects the window in the given (spacial) direction relative to the reference node\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
\fI CYCLE_DIR\fR
.RS 4
2016-05-09 16:55:31 +02:00
Selects the window in the given (cyclic) direction relative to the reference node\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2016-03-20 10:38:11 +01:00
\fI PATH\fR
2013-07-12 23:04:50 -04:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the node at the given path\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2018-03-07 14:14:48 +01:00
any
.RS 4
Selects the first node that matches the given selectors\& .
.RE
.PP
2013-07-12 23:04:50 -04:00
last
.RS 4
2016-05-09 16:55:31 +02:00
Selects the previously focused node relative to the reference node\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2018-03-07 12:01:58 +01:00
newest
.RS 4
Selects the newest node in the history of the focused node\& .
.RE
.PP
2016-03-20 10:38:11 +01:00
older
.RS 4
2016-05-09 16:55:31 +02:00
Selects the node older than the reference node in the history\& .
2016-03-20 10:38:11 +01:00
.RE
.PP
newer
.RS 4
2016-05-09 16:55:31 +02:00
Selects the node newer than the reference node in the history\& .
2016-03-20 10:38:11 +01:00
.RE
.PP
2013-10-08 17:47:00 +02:00
focused
2013-10-06 17:12:32 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Selects the currently focused node\& .
2013-10-06 17:12:32 +02:00
.RE
.PP
2016-04-19 20:49:22 +02:00
pointed
.RS 4
Selects the window under the pointer\& .
.RE
.PP
2016-03-20 10:38:11 +01:00
biggest
2013-10-08 13:59:17 +02:00
.RS 4
2016-05-09 16:55:31 +02:00
Selects the biggest window\& .
2013-10-08 13:59:17 +02:00
.RE
.PP
2018-06-19 10:14:09 +02:00
smallest
.RS 4
Selects the smallest window\& .
.RE
.PP
2016-03-20 10:38:11 +01:00
<node_id>
2013-10-08 13:59:17 +02:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the node with the given ID\& .
2013-10-08 13:59:17 +02:00
.RE
2013-07-12 23:04:50 -04:00
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Path Jumps\fR
2013-07-12 23:04:50 -04:00
.RS 4
2015-12-22 19:25:45 +01:00
.sp
2016-05-09 16:55:31 +02:00
The initial node is the focused node (or the root if the path starts with \fI /\fR ) of the reference desktop (or the selected desktop if the path has a \fI DESKTOP_SEL\fR prefix)\& .
2013-07-12 23:04:50 -04:00
.PP
2015-12-22 19:25:45 +01:00
1|first
2013-07-13 18:40:44 -04:00
.RS 4
2015-12-22 19:25:45 +01:00
Jumps to the first child\& .
2014-02-03 10:30:41 +01:00
.RE
.PP
2015-12-22 19:25:45 +01:00
2|second
2014-02-03 10:30:41 +01:00
.RS 4
2015-12-22 19:25:45 +01:00
Jumps to the second child\& .
2013-07-13 18:40:44 -04:00
.RE
2013-07-19 10:13:22 +02:00
.PP
2015-12-22 19:25:45 +01:00
brother
.RS 4
Jumps to the brother node\& .
.RE
.PP
parent
.RS 4
Jumps to the parent node\& .
.RE
.PP
\fI DIR\fR
.RS 4
Jumps to the node holding the edge in the given direction\& .
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB Modifiers\fR
.RS 4
.PP
2015-11-17 11:02:06 +01:00
[!]focused
2013-07-19 10:13:22 +02:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider the focused node\& .
.RE
.PP
[!]active
.RS 4
Only consider nodes that are the focused node of their desktop\& .
2013-07-19 10:13:22 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
[!]automatic
2015-10-27 21:48:19 +01:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider nodes in automatic insertion mode\& . See also
2016-12-20 23:31:50 +01:00
\fB \- \- presel\- dir\fR
under
\fB Node\fR
in the
\fB DOMAINS\fR
section below\& .
2015-10-27 21:48:19 +01:00
.RE
.PP
2015-11-17 11:02:06 +01:00
[!]local
2015-10-27 21:48:19 +01:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider nodes in the reference desktop\& .
2016-09-22 22:30:38 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
[!]leaf
.RS 4
2018-12-14 18:10:19 +01:00
Only consider leaf nodes\& .
2015-12-22 19:25:45 +01:00
.RE
.PP
2016-03-26 11:47:17 +01:00
[!]window
.RS 4
2018-12-14 18:10:19 +01:00
Only consider nodes that hold a window\& .
2016-03-26 11:47:17 +01:00
.RE
.PP
2015-12-22 19:25:45 +01:00
[!](tiled|pseudo_tiled|floating|fullscreen)
.RS 4
2018-12-14 18:10:19 +01:00
Only consider windows in the given state\& .
2015-12-22 19:25:45 +01:00
.RE
.PP
[!]same_class
.RS 4
2018-12-14 18:10:19 +01:00
Only consider windows that have the same class as the reference window\& .
2016-05-09 16:55:31 +02:00
.RE
.PP
[!]descendant_of
.RS 4
2018-12-14 18:10:19 +01:00
Only consider nodes that are descendants of the reference node\& .
2016-05-09 16:55:31 +02:00
.RE
.PP
[!]ancestor_of
.RS 4
2018-12-14 18:10:19 +01:00
Only consider nodes that are ancestors of the reference node\& .
2015-10-27 21:48:19 +01:00
.RE
.PP
2018-03-07 12:01:58 +01:00
[!](hidden|sticky|private|locked|marked|urgent)
2015-10-27 21:48:19 +01:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider windows that have the given flag set\& .
2015-10-27 21:48:19 +01:00
.RE
.PP
2015-11-23 10:40:10 +01:00
[!](below|normal|above)
2013-07-19 10:13:22 +02:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider windows in the given layer\& .
2015-01-03 11:44:56 +00:00
.RE
2013-07-12 23:04:50 -04:00
.RE
.SS "Desktop"
.sp
Select a desktop\& .
.sp
.if n \{ \
.RS 4
. \}
.nf
2018-03-07 14:14:48 +01:00
DESKTOP_SEL := [DESKTOP_SEL#](CYCLE_DIR|any|last|newest|older|newer|
2017-09-08 21:23:53 +02:00
[MONITOR_SEL:](focused|^<n>)|
2018-12-14 18:10:19 +01:00
<desktop_id>|<desktop_name>)[\& .[!]focused][\& .[!]active]
[\& .[!]occupied][\& .[!]urgent][\& .[!]local]
2013-07-12 23:04:50 -04:00
.fi
.if n \{ \
.RE
. \}
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Descriptors\fR
2013-07-12 23:04:50 -04:00
.RS 4
.PP
2016-03-20 10:38:11 +01:00
\fI CYCLE_DIR\fR
2016-03-16 15:15:27 +01:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the desktop in the given direction relative to the reference desktop\& .
2016-03-16 15:15:27 +01:00
.RE
.PP
2018-03-07 14:14:48 +01:00
any
.RS 4
Selects the first desktop that matches the given selectors\& .
.RE
.PP
2016-03-20 10:38:11 +01:00
last
2013-09-02 21:03:59 +02:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the previously focused desktop relative to the reference desktop\& .
2013-09-02 21:03:59 +02:00
.RE
.PP
2018-03-07 12:01:58 +01:00
newest
.RS 4
Selects the newest desktop in the history of the focused desktops\& .
.RE
.PP
2016-03-20 10:38:11 +01:00
older
2013-09-02 21:03:59 +02:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the desktop older than the reference desktop in the history\& .
2013-09-02 21:03:59 +02:00
.RE
.PP
2016-03-20 10:38:11 +01:00
newer
2013-07-12 23:04:50 -04:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the desktop newer than the reference desktop in the history\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2016-03-20 10:38:11 +01:00
focused
2013-07-12 23:04:50 -04:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the currently focused desktop\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2016-03-20 10:38:11 +01:00
^<n>
2013-10-06 17:12:32 +02:00
.RS 4
2017-08-21 10:13:06 +02:00
Selects the nth desktop\& . If
\fB MONITOR_SEL\fR
is given, selects the nth desktop on the selected monitor\& .
2013-10-06 17:12:32 +02:00
.RE
.PP
2016-03-20 10:38:11 +01:00
<desktop_id>
2013-07-12 23:04:50 -04:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the desktop with the given ID\& .
2013-10-08 17:47:00 +02:00
.RE
.PP
2016-03-20 10:38:11 +01:00
<desktop_name>
2013-10-08 17:47:00 +02:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the desktop with the given name\& .
2013-07-12 23:04:50 -04:00
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB Modifiers\fR
.RS 4
.PP
2018-12-14 18:10:19 +01:00
[!]focused
2013-07-12 23:04:50 -04:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider the focused desktop\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2018-12-14 18:10:19 +01:00
[!]active
.RS 4
Only consider desktops that are the focused desktop of their monitor\& .
.RE
.PP
[!]occupied
2015-11-26 20:07:46 +01:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider occupied desktops\& .
2015-11-26 20:07:46 +01:00
.RE
.PP
2015-11-17 11:02:06 +01:00
[!]urgent
2013-07-12 23:04:50 -04:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider urgent desktops\& .
2013-07-12 23:04:50 -04:00
.RE
2013-07-19 10:13:22 +02:00
.PP
2015-11-17 11:02:06 +01:00
[!]local
2013-07-19 10:13:22 +02:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider desktops inside the reference monitor\& .
2015-10-27 21:48:19 +01:00
.RE
2013-07-12 23:04:50 -04:00
.RE
.SS "Monitor"
.sp
Select a monitor\& .
.sp
.if n \{ \
.RS 4
. \}
.nf
2018-03-07 14:14:48 +01:00
MONITOR_SEL := [MONITOR_SEL#](DIR|CYCLE_DIR|any|last|newest|older|newer|
2017-09-08 21:23:53 +02:00
focused|pointed|primary|^<n>|
2018-12-14 18:10:19 +01:00
<monitor_id>|<monitor_name>)[\& .[!]focused][\& .[!]occupied]
2013-07-12 23:04:50 -04:00
.fi
.if n \{ \
.RE
. \}
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Descriptors\fR
2013-07-12 23:04:50 -04:00
.RS 4
.PP
2016-03-20 10:38:11 +01:00
\fI DIR\fR
2016-03-16 15:15:27 +01:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the monitor in the given (spacial) direction relative to the reference monitor\& .
2016-03-16 15:15:27 +01:00
.RE
.PP
2016-03-20 10:38:11 +01:00
\fI CYCLE_DIR\fR
2013-09-02 21:03:59 +02:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the monitor in the given (cyclic) direction relative to the reference monitor\& .
2013-09-02 21:03:59 +02:00
.RE
.PP
2018-03-07 14:14:48 +01:00
any
.RS 4
Selects the first monitor that matches the given selectors\& .
.RE
.PP
2016-03-20 10:38:11 +01:00
last
2013-09-02 21:03:59 +02:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the previously focused monitor relative to the reference monitor\& .
2013-09-02 21:03:59 +02:00
.RE
.PP
2018-03-07 12:01:58 +01:00
newest
.RS 4
Selects the newest monitor in the history of the focused monitors\& .
.RE
.PP
2016-03-20 10:38:11 +01:00
older
2013-07-12 23:04:50 -04:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the monitor older than the reference monitor in the history\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2016-03-20 10:38:11 +01:00
newer
2013-07-12 23:04:50 -04:00
.RS 4
2016-05-20 11:41:36 +02:00
Selects the monitor newer than the reference monitor in the history\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2016-03-20 10:38:11 +01:00
focused
2013-09-09 15:25:26 +02:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the currently focused monitor\& .
2013-09-09 15:25:26 +02:00
.RE
.PP
2017-08-24 21:04:23 +02:00
pointed
.RS 4
Selects the monitor under the pointer\& .
.RE
.PP
2016-03-20 10:38:11 +01:00
primary
2013-07-12 23:04:50 -04:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the primary monitor\& .
2013-07-12 23:04:50 -04:00
.RE
.PP
2016-03-20 10:38:11 +01:00
^<n>
2013-07-12 23:04:50 -04:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the nth monitor\& .
2013-07-12 23:04:50 -04:00
.RE
2013-10-08 17:47:00 +02:00
.PP
2016-03-20 10:38:11 +01:00
<monitor_id>
2013-10-08 17:47:00 +02:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the monitor with the given ID\& .
2013-10-08 17:47:00 +02:00
.RE
.PP
2016-03-20 10:38:11 +01:00
<monitor_name>
2013-10-08 17:47:00 +02:00
.RS 4
2016-03-20 10:38:11 +01:00
Selects the monitor with the given name\& .
2013-10-08 17:47:00 +02:00
.RE
2013-07-12 23:04:50 -04:00
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB Modifiers\fR
.RS 4
.PP
2018-12-14 18:10:19 +01:00
[!]focused
2013-07-12 23:04:50 -04:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider the focused monitor\& .
2013-07-12 23:04:50 -04:00
.RE
2015-11-26 20:07:46 +01:00
.PP
2018-12-14 18:10:19 +01:00
[!]occupied
2015-11-26 20:07:46 +01:00
.RS 4
2018-12-14 18:10:19 +01:00
Only consider monitors where the focused desktop is occupied\& .
2015-11-26 20:07:46 +01:00
.RE
2013-07-12 23:04:50 -04:00
.RE
2013-12-16 17:22:25 +01:00
.SH "WINDOW STATES"
.PP
2015-11-05 14:00:49 +01:00
tiled
2013-12-16 17:22:25 +01:00
.RS 4
2015-11-05 14:00:49 +01:00
Its size and position are determined by the splitting type and ratio of each node of its path in the window tree\& .
2013-12-16 17:22:25 +01:00
.RE
.PP
2013-12-27 14:23:25 +01:00
pseudo_tiled
.RS 4
2014-08-16 21:04:04 +02:00
Has an unrestricted size while being centered in its tiling space\& .
2013-12-27 14:23:25 +01:00
.RE
.PP
2015-11-05 14:00:49 +01:00
floating
.RS 4
Can be moved/resized freely\& . Although it doesn\(cq t occupy any tiling space, it is still part of the window tree\& .
.RE
.PP
2013-12-16 17:22:25 +01:00
fullscreen
.RS 4
2015-11-05 14:00:49 +01:00
Fills its monitor rectangle and has no borders\& . It is send in the ABOVE layer by default\& .
2013-12-16 17:22:25 +01:00
.RE
2015-12-22 19:25:45 +01:00
.SH "NODE FLAGS"
2013-12-16 17:22:25 +01:00
.PP
2016-04-16 18:13:31 +02:00
hidden
2013-12-16 17:22:25 +01:00
.RS 4
2016-04-16 18:13:31 +02:00
Is hidden and doesn\(cq t occupy any tiling space\& .
2013-12-16 17:22:25 +01:00
.RE
.PP
sticky
.RS 4
Stays in the focused desktop of its monitor\& .
.RE
.PP
private
.RS 4
Tries to keep the same tiling position/size\& .
.RE
2015-10-27 21:26:09 +01:00
.PP
2016-04-16 18:13:31 +02:00
locked
.RS 4
Ignores the
\fB node \- \- close\fR
message\& .
.RE
.PP
2018-03-07 12:01:58 +01:00
marked
.RS 4
2018-03-07 18:19:11 +01:00
Is marked (useful for deferred actions)\& . A marked node becomes unmarked after being sent on a preselected node\& .
2018-03-07 12:01:58 +01:00
.RE
.PP
2015-10-27 21:26:09 +01:00
urgent
.RS 4
2015-11-05 14:00:49 +01:00
Has its urgency hint set\& . This flag is set externally\& .
2015-10-27 21:26:09 +01:00
.RE
2015-10-26 20:56:56 +01:00
.SH "STACKING LAYERS"
.sp
There\(cq s three stacking layers: BELOW, NORMAL and ABOVE\& .
.sp
2019-01-06 12:18:31 +01:00
In each layer, the window are orderered as follow: tiled & pseudo\- tiled < floating < fullscreen\& .
2018-02-04 12:00:21 +01:00
.SH "RECEPTACLES"
.sp
2018-04-25 10:33:17 +02:00
A leaf node that doesn\(cq t hold any window is called a receptacle\& . When a node is inserted on a receptacle in automatic mode, it will replace the receptacle\& . A receptacle can be inserted on a node, preselected and killed\& . Receptacles can therefore be used to build a tree whose leaves are receptacles\& . Using the appropriate rules, one can then send windows on the leaves of this tree\& . This feature is used in \fI examples/receptacles\fR to store and recreate layouts\& .
2015-12-22 19:25:45 +01:00
.SH "DOMAINS"
.SS "Node"
2013-07-08 11:42:05 +02:00
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
.sp
2015-12-22 19:25:45 +01:00
node [\fI NODE_SEL\fR ] \fI COMMANDS\fR
2016-05-09 13:37:45 +02:00
.sp
If \fI NODE_SEL\fR is omitted, \fB focused\fR is assumed\& .
2013-06-26 21:50:01 +02:00
.RE
2013-07-08 11:42:05 +02:00
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Commands\fR
2013-06-26 21:50:01 +02:00
.RS 4
.PP
2015-12-22 19:25:45 +01:00
\fB \- f\fR , \fB \- \- focus\fR [\fI NODE_SEL\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Focus the selected or given node\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- a\fR , \fB \- \- activate\fR [\fI NODE_SEL\fR ]
2015-11-07 12:21:13 +01:00
.RS 4
2015-12-22 19:25:45 +01:00
Activate the selected or given node\& .
2015-11-07 12:21:13 +01:00
.RE
.PP
2018-01-14 22:32:11 +01:00
\fB \- d\fR , \fB \- \- to\- desktop\fR \fI DESKTOP_SEL\fR [\fB \- \- follow\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2018-01-14 22:32:11 +01:00
Send the selected node to the given desktop\& . If
\fB \- \- follow\fR
is passed, the focused node will stay focused\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2018-01-14 22:32:11 +01:00
\fB \- m\fR , \fB \- \- to\- monitor\fR \fI MONITOR_SEL\fR [\fB \- \- follow\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2018-01-14 22:32:11 +01:00
Send the selected node to the given monitor\& . If
\fB \- \- follow\fR
is passed, the focused node will stay focused\& .
2015-12-22 19:25:45 +01:00
.RE
.PP
2018-01-14 22:32:11 +01:00
\fB \- n\fR , \fB \- \- to\- node\fR \fI NODE_SEL\fR [\fB \- \- follow\fR ]
2015-12-22 19:25:45 +01:00
.RS 4
2018-01-14 22:32:11 +01:00
Send the selected node on the given node\& . If
\fB \- \- follow\fR
is passed, the focused node will stay focused\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2018-01-14 22:32:11 +01:00
\fB \- s\fR , \fB \- \- swap\fR \fI NODE_SEL\fR [\fB \- \- follow\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2018-01-14 22:32:11 +01:00
Swap the selected node with the given node\& . If
\fB \- \- follow\fR
is passed, the focused node will stay focused\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2016-01-02 11:13:30 +01:00
\fB \- p\fR , \fB \- \- presel\- dir\fR [~]\fI DIR\fR |cancel
2013-06-26 21:50:01 +02:00
.RS 4
2016-01-02 11:13:30 +01:00
Preselect the splitting area of the selected node (or cancel the preselection)\& . If
\fB ~\fR
is prepended to
\fI DIR\fR
and the current preselection direction matches
\fI DIR\fR , then the argument is interpreted as
2016-12-20 23:31:50 +01:00
\fB cancel\fR \& . A node with a preselected area is said to be in "manual insertion mode"\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- o\fR , \fB \- \- presel\- ratio\fR \fI RATIO\fR
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Set the splitting ratio of the preselection area\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2016-04-07 18:08:32 +02:00
\fB \- v\fR , \fB \- \- move\fR \fI dx\fR \fI dy\fR
.RS 4
Move the selected window by
\fI dx\fR
pixels horizontally and
\fI dy\fR
pixels vertically\& .
.RE
.PP
\fB \- z\fR , \fB \- \- resize\fR top|left|bottom|right|top_left|top_right|bottom_right|bottom_left \fI dx\fR \fI dy\fR
.RS 4
Resize the selected window by moving the given handle by
\fI dx\fR
pixels horizontally and
\fI dy\fR
pixels vertically\& .
.RE
.PP
2017-01-30 17:43:56 +01:00
\fB \- r\fR , \fB \- \- ratio\fR \fI RATIO\fR |(+|\- )(\fI PIXELS\fR |\fI FRACTION\fR )
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Set the splitting ratio of the selected node (0 <
2013-07-23 19:26:01 +02:00
\fI RATIO\fR
< 1)\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- R\fR , \fB \- \- rotate\fR \fI 90|270|180\fR
.RS 4
Rotate the tree rooted at the selected node\& .
.RE
.PP
\fB \- F\fR , \fB \- \- flip\fR \fI horizontal|vertical\fR
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Flip the the tree rooted at selected node\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- E\fR , \fB \- \- equalize\fR
.RS 4
Reset the split ratios of the tree rooted at the selected node to their default value\& .
.RE
.PP
\fB \- B\fR , \fB \- \- balance\fR
.RS 4
Adjust the split ratios of the tree rooted at the selected node so that all windows occupy the same area\& .
.RE
.PP
\fB \- C\fR , \fB \- \- circulate\fR forward|backward
2013-08-27 23:48:50 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Circulate the windows of the tree rooted at the selected node\& .
2013-08-27 23:48:50 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- t\fR , \fB \- \- state\fR [~](tiled|pseudo_tiled|floating|fullscreen)
2015-11-05 14:00:49 +01:00
.RS 4
2016-01-02 11:13:30 +01:00
Set the state of the selected window\& . If
\fB ~\fR
is present and the current state matches the given state, then the argument is interpreted as the last state\& .
2015-11-05 14:00:49 +01:00
.RE
.PP
2018-03-07 12:01:58 +01:00
\fB \- g\fR , \fB \- \- flag\fR hidden|sticky|private|locked|marked[=on|off]
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Set or toggle the given flag for the selected node\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-10-26 20:56:56 +01:00
\fB \- l\fR , \fB \- \- layer\fR below|normal|above
.RS 4
Set the stacking layer of the selected window\& .
.RE
2016-03-26 11:47:17 +01:00
.PP
\fB \- i\fR , \fB \- \- insert\- receptacle\fR
.RS 4
Insert a receptacle node at the selected node\& .
.RE
2015-10-26 20:56:56 +01:00
.PP
2013-07-08 11:42:05 +02:00
\fB \- c\fR , \fB \- \- close\fR
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Close the windows rooted at the selected node\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2013-07-08 11:42:05 +02:00
\fB \- k\fR , \fB \- \- kill\fR
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Kill the windows rooted at the selected node\& .
2013-06-26 21:50:01 +02:00
.RE
.RE
2013-07-08 11:42:05 +02:00
.SS "Desktop"
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
.sp
2015-12-22 19:25:45 +01:00
desktop [\fI DESKTOP_SEL\fR ] \fI COMMANDS\fR
2016-05-09 13:37:45 +02:00
.sp
If \fI DESKTOP_SEL\fR is omitted, \fB focused\fR is assumed\& .
2013-06-26 21:50:01 +02:00
.RE
2013-07-08 11:42:05 +02:00
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB COMMANDS\fR
2013-06-26 21:50:01 +02:00
.RS 4
.PP
2013-07-08 11:42:05 +02:00
\fB \- f\fR , \fB \- \- focus\fR [\fI DESKTOP_SEL\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
Focus the selected or given desktop\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- a\fR , \fB \- \- activate\fR [\fI DESKTOP_SEL\fR ]
.RS 4
Activate the selected or given desktop\& .
.RE
.PP
2018-01-14 22:32:11 +01:00
\fB \- m\fR , \fB \- \- to\- monitor\fR \fI MONITOR_SEL\fR [\fB \- \- follow\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2018-01-14 22:32:11 +01:00
Send the selected desktop to the given monitor\& . If
\fB \- \- follow\fR
is passed, the focused desktop will stay focused\& .
.RE
.PP
\fB \- s\fR , \fB \- \- swap\fR \fI DESKTOP_SEL\fR [\fB \- \- follow\fR ]
.RS 4
Swap the selected desktop with the given desktop\& . If
\fB \- \- follow\fR
is passed, the focused desktop will stay focused\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2013-07-12 23:04:50 -04:00
\fB \- l\fR , \fB \- \- layout\fR \fI CYCLE_DIR\fR |monocle|tiled
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
Set or cycle the layout of the selected desktop\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2013-07-08 11:42:05 +02:00
\fB \- n\fR , \fB \- \- rename\fR <new_name>
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
Rename the selected desktop\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-05-26 23:31:19 +02:00
\fB \- b\fR , \fB \- \- bubble\fR \fI CYCLE_DIR\fR
.RS 4
Bubble the selected desktop in the given direction\& .
.RE
.PP
2013-07-08 11:42:05 +02:00
\fB \- r\fR , \fB \- \- remove\fR
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
Remove the selected desktop\& .
2013-06-26 21:50:01 +02:00
.RE
.RE
2013-07-08 11:42:05 +02:00
.SS "Monitor"
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
.sp
2015-12-22 19:25:45 +01:00
monitor [\fI MONITOR_SEL\fR ] \fI COMMANDS\fR
2016-05-09 13:37:45 +02:00
.sp
If \fI MONITOR_SEL\fR is omitted, \fB focused\fR is assumed\& .
2013-06-26 21:50:01 +02:00
.RE
2013-07-08 11:42:05 +02:00
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Commands\fR
2013-06-26 21:50:01 +02:00
.RS 4
.PP
2013-07-08 11:42:05 +02:00
\fB \- f\fR , \fB \- \- focus\fR [\fI MONITOR_SEL\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
Focus the selected or given monitor\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2016-05-09 18:43:03 +02:00
\fB \- s\fR , \fB \- \- swap\fR \fI MONITOR_SEL\fR
.RS 4
Swap the selected monitor with the given monitor\& .
.RE
.PP
2013-07-08 11:42:05 +02:00
\fB \- a\fR , \fB \- \- add\- desktops\fR <name>\& ...
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
Create desktops with the given names in the selected monitor\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2013-11-19 15:25:49 +01:00
\fB \- o\fR , \fB \- \- reorder\- desktops\fR <name>\& ...
2013-06-26 21:50:01 +02:00
.RS 4
2013-11-19 15:25:49 +01:00
Reorder the desktops of the selected monitor to match the given order\& .
2013-06-26 21:50:01 +02:00
.RE
2013-09-09 22:27:27 +02:00
.PP
2013-10-01 23:14:57 +02:00
\fB \- d\fR , \fB \- \- reset\- desktops\fR <name>\& ...
.RS 4
2016-03-21 14:28:04 +01:00
Rename, add or remove desktops depending on whether the number of given names is equal, superior or inferior to the number of existing desktops\& .
2013-10-01 23:14:57 +02:00
.RE
.PP
2015-12-30 11:36:14 +01:00
\fB \- g\fR , \fB \- \- rectangle\fR WxH+X+Y
.RS 4
Set the rectangle of the selected monitor\& .
.RE
.PP
2013-11-19 15:25:49 +01:00
\fB \- n\fR , \fB \- \- rename\fR <new_name>
.RS 4
Rename the selected monitor\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fB \- r\fR , \fB \- \- remove\fR
.RS 4
Remove the selected monitor\& .
.RE
2013-06-26 21:50:01 +02:00
.RE
2013-07-08 11:42:05 +02:00
.SS "Query"
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
2013-06-28 15:16:56 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
.sp
2015-12-22 19:25:45 +01:00
query \fI COMMANDS\fR [\fI OPTIONS\fR ]
2013-06-28 15:16:56 +02:00
.RE
2013-07-08 11:42:05 +02:00
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Commands\fR
2013-06-26 21:50:01 +02:00
.RS 4
2016-05-20 11:41:36 +02:00
.sp
The optional selectors are references\& .
2013-06-26 21:50:01 +02:00
.PP
2016-05-09 16:55:31 +02:00
\fB \- N\fR , \fB \- \- nodes\fR [\fI NODE_SEL\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
List the IDs of the matching nodes\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2016-05-09 16:55:31 +02:00
\fB \- D\fR , \fB \- \- desktops\fR [\fI DESKTOP_SEL\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2016-11-04 10:28:24 +01:00
List the IDs (or names) of the matching desktops\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2016-05-09 16:55:31 +02:00
\fB \- M\fR , \fB \- \- monitors\fR [\fI MONITOR_SEL\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2016-11-04 10:28:24 +01:00
List the IDs (or names) of the matching monitors\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2013-07-08 11:42:05 +02:00
\fB \- T\fR , \fB \- \- tree\fR
2013-06-26 21:50:01 +02:00
.RS 4
2015-11-22 22:16:17 +01:00
Print a JSON representation of the matching item\& .
2013-06-26 21:50:01 +02:00
.RE
.RE
2013-07-08 11:42:05 +02:00
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB Options\fR
.RS 4
2013-06-26 21:50:01 +02:00
.PP
2016-04-14 23:15:58 +02:00
\fB \- m\fR ,\fB \- \- monitor\fR [\fI MONITOR_SEL\fR ], \fB \- d\fR ,\fB \- \- desktop\fR [\fI DESKTOP_SEL\fR ], \fB \- n\fR , \fB \- \- node\fR [\fI NODE_SEL\fR ]
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Constrain matches to the selected monitor, desktop or node\& . The descriptor can be omitted for
\fI \- M\fR ,
\fI \- D\fR
and
\fI \- N\fR \& .
2013-10-01 10:48:03 +02:00
.RE
2016-11-04 10:28:24 +01:00
.PP
\fB \- \- names\fR
.RS 4
2017-07-25 20:45:18 +02:00
Print names instead of IDs\& . Can only be used with
\fI \- M\fR
and
\fI \- D\fR \& .
2016-11-04 10:28:24 +01:00
.RE
2013-07-08 11:42:05 +02:00
.RE
2015-12-22 19:25:45 +01:00
.SS "Wm"
2013-07-08 11:42:05 +02:00
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
.sp
2015-12-22 19:25:45 +01:00
wm \fI COMMANDS\fR
2013-06-26 21:50:01 +02:00
.RE
2013-07-08 11:42:05 +02:00
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Commands\fR
2013-07-08 11:42:05 +02:00
.RS 4
2013-06-26 21:50:01 +02:00
.PP
2015-12-22 19:25:45 +01:00
\fB \- d\fR , \fB \- \- dump\- state\fR
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Dump the current world state on standard output\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- l\fR , \fB \- \- load\- state\fR <file_path>
2013-06-26 21:50:01 +02:00
.RS 4
2019-01-15 18:06:48 +01:00
Load a world state from the given file\& . The path must be absolute\& .
2013-09-16 13:40:28 +02:00
.RE
2013-10-08 23:16:07 +02:00
.PP
2015-12-22 19:25:45 +01:00
\fB \- a\fR , \fB \- \- add\- monitor\fR <name> WxH+X+Y
2013-10-08 23:16:07 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Add a monitor for the given name and rectangle\& .
2013-10-08 23:16:07 +02:00
.RE
2013-11-07 14:28:39 +01:00
.PP
2017-07-30 14:48:03 +02:00
\fB \- O\fR , \fB \- \- reorder\- monitors\fR <name>\& ...
.RS 4
Reorder the list of monitors to match the given order\& .
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- o\fR , \fB \- \- adopt\- orphans\fR
.RS 4
Manage all the unmanaged windows remaining from a previous session\& .
2014-02-11 18:40:34 +01:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- h\fR , \fB \- \- record\- history\fR on|off
.RS 4
Enable or disable the recording of node focus history\& .
.RE
.PP
\fB \- g\fR , \fB \- \- get\- status\fR
2014-02-11 18:40:34 +01:00
.RS 4
2014-08-16 21:04:04 +02:00
Print the current status information\& .
2013-11-07 14:28:39 +01:00
.RE
2013-07-08 11:42:05 +02:00
.RE
2013-12-12 14:38:48 +01:00
.SS "Rule"
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
.RS 4
.sp
2015-12-22 19:25:45 +01:00
rule \fI COMMANDS\fR
2013-12-12 14:38:48 +01:00
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
2015-12-22 19:25:45 +01:00
\fB Commands\fR
2013-12-12 14:38:48 +01:00
.RS 4
.PP
2018-03-07 12:01:58 +01:00
\fB \- a\fR , \fB \- \- add\fR (<class_name>|*)[:(<instance_name>|*)] [\fB \- o\fR |\fB \- \- one\- shot\fR ] [monitor=MONITOR_SEL|desktop=DESKTOP_SEL|node=NODE_SEL] [state=STATE] [layer=LAYER] [split_dir=DIR] [split_ratio=RATIO] [(hidden|sticky|private|locked|marked|center|follow|manage|focus|border)=(on|off)] [rectangle=WxH+X+Y]
2013-12-12 14:38:48 +01:00
.RS 4
Create a new rule\& .
.RE
.PP
2016-01-02 11:31:46 +01:00
\fB \- r\fR , \fB \- \- remove\fR ^<n>|head|tail|(<class_name>|*)[:(<instance_name>|*)]\& ...
2013-12-12 14:38:48 +01:00
.RS 4
Remove the given rules\& .
.RE
.PP
2015-12-22 19:25:45 +01:00
\fB \- l\fR , \fB \- \- list\fR
2013-12-12 14:38:48 +01:00
.RS 4
List the rules\& .
.RE
.RE
2013-07-08 11:42:05 +02:00
.SS "Config"
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
.RS 4
2013-06-26 21:50:01 +02:00
.PP
2016-11-13 21:22:05 -06:00
config [\- m \fI MONITOR_SEL\fR |\- d \fI DESKTOP_SEL\fR |\- n \fI NODE_SEL\fR ] <setting> [<value>]
2013-06-26 21:50:01 +02:00
.RS 4
2016-11-13 21:22:05 -06:00
Get or set the value of <setting>\& .
2013-07-08 11:42:05 +02:00
.RE
2013-06-26 21:50:01 +02:00
.RE
2015-12-22 19:25:45 +01:00
.SS "Subscribe"
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
.RS 4
.PP
2017-07-23 10:33:15 +02:00
subscribe [\fI OPTIONS\fR ] (all|report|monitor|desktop|node|\& ...)*
2015-12-22 19:25:45 +01:00
.RS 4
2017-07-24 20:28:22 +02:00
Continuously print events\& . See the
2015-12-22 19:25:45 +01:00
\fB EVENTS\fR
2017-07-24 20:28:22 +02:00
section for the description of each event\& .
2017-07-23 10:33:15 +02:00
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB Options\fR
.RS 4
.PP
2017-07-24 20:28:22 +02:00
\fB \- f\fR , \fB \- \- fifo\fR
.RS 4
Print a path to a FIFO from which events can be read and return\& .
.RE
.PP
2017-07-23 10:33:15 +02:00
\fB \- c\fR , \fB \- \- count\fR \fI COUNT\fR
.RS 4
Stop the corresponding
\fB bspc\fR
process after having received
2017-07-22 16:55:31 +02:00
\fI COUNT\fR
events\& .
2015-12-22 19:25:45 +01:00
.RE
.RE
2013-07-08 11:42:05 +02:00
.SS "Quit"
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB General Syntax\fR
.RS 4
2013-06-26 21:50:01 +02:00
.PP
2013-07-08 11:42:05 +02:00
quit [<status>]
2013-06-26 21:50:01 +02:00
.RS 4
2013-07-08 11:42:05 +02:00
Quit with an optional exit status\& .
.RE
2013-06-26 21:50:01 +02:00
.RE
2014-02-17 11:55:34 +01:00
.SH "EXIT CODES"
.sp
2016-03-21 14:28:04 +01:00
If the server can\(cq t handle a message, \fB bspc\fR will return with a non\- zero exit code\& .
2013-06-26 21:50:01 +02:00
.SH "SETTINGS"
.sp
2015-12-22 19:25:45 +01:00
Colors are in the form \fI #RRGGBB\fR , booleans are \fI true\fR , \fI on\fR , \fI false\fR or \fI off\fR \& .
2013-06-26 21:50:01 +02:00
.sp
2015-01-15 14:18:25 +01:00
All the boolean settings are \fI false\fR by default unless stated otherwise\& .
2013-09-15 11:51:12 +02:00
.SS "Global Settings"
2013-06-26 21:50:01 +02:00
.PP
2015-12-22 19:25:45 +01:00
\fI normal_border_color\fR
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Color of the border of an unfocused window\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
\fI active_border_color\fR
.RS 4
Color of the border of a focused window of an unfocused monitor\& .
.RE
.PP
2015-12-22 19:25:45 +01:00
\fI focused_border_color\fR
2013-06-26 21:50:01 +02:00
.RS 4
2015-12-22 19:25:45 +01:00
Color of the border of a focused window of a focused monitor\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2015-12-22 19:25:45 +01:00
\fI presel_feedback_color\fR
2013-06-26 21:50:01 +02:00
.RS 4
Color of the
2015-12-22 19:25:45 +01:00
\fB node \- \- presel\- {dir,ratio}\fR
message feedback area\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
\fI split_ratio\fR
.RS 4
Default split ratio\& .
.RE
.PP
2013-12-12 14:38:48 +01:00
\fI status_prefix\fR
.RS 4
Prefix prepended to each of the status lines\& .
.RE
.PP
\fI external_rules_command\fR
.RS 4
2019-01-15 18:06:48 +01:00
Absolute path to the command used to retrieve rule consequences\& . The command will receive the following arguments: window ID, class name, instance name, and intermediate consequences\& . The output of that command must have the following format:
2013-12-12 14:38:48 +01:00
\fB key1=value1 key2=value2 \& ...\fR
(the valid key/value pairs are given in the description of the
\fI rule\fR
command)\& .
.RE
.PP
2018-08-31 11:33:00 +02:00
\fI automatic_scheme\fR
.RS 4
The insertion scheme used when the insertion point is in automatic mode\& . Accept the following values:
\fB longest_side\fR ,
2018-12-12 22:35:38 +01:00
\fB alternate\fR ,
2018-08-31 11:33:00 +02:00
\fB spiral\fR \& .
.RE
.PP
2015-01-06 20:10:09 +01:00
\fI initial_polarity\fR
.RS 4
On which child should a new window be attached when adding a window on a single window tree in automatic mode\& . Accept the following values:
\fB first_child\fR ,
\fB second_child\fR \& .
.RE
.PP
2017-06-04 10:25:11 +02:00
\fI directional_focus_tightness\fR
.RS 4
The tightness of the algorithm used to decide whether a window is on the
\fI DIR\fR
side of another window\& . Accept the following values:
\fB high\fR ,
\fB low\fR \& .
.RE
.PP
2018-12-12 22:35:38 +01:00
\fI removal_adjustment\fR
.RS 4
Adjust the brother when unlinking a node from the tree in accordance with the automatic insertion scheme\& .
.RE
.PP
2018-11-23 14:37:55 +00:00
\fI presel_feedback\fR
.RS 4
Draw the preselection feedback area\& . Defaults to
\fI true\fR \& .
.RE
.PP
2013-06-26 21:50:01 +02:00
\fI borderless_monocle\fR
.RS 4
2015-08-07 08:47:24 +02:00
Remove borders of tiled windows for the
\fB monocle\fR
desktop layout\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
\fI gapless_monocle\fR
.RS 4
2015-08-07 08:47:24 +02:00
Remove gaps of tiled windows for the
\fB monocle\fR
desktop layout\& .
2013-06-26 21:50:01 +02:00
.RE
.PP
2018-09-29 18:57:05 +02:00
\fI top_monocle_padding\fR , \fI right_monocle_padding\fR , \fI bottom_monocle_padding\fR , \fI left_monocle_padding\fR
2016-01-10 18:29:51 +01:00
.RS 4
2018-09-29 18:57:05 +02:00
Padding space added at the sides of the screen for the
2016-01-10 18:29:51 +01:00
\fB monocle\fR
desktop layout\& .
.RE
.PP
2015-12-22 19:25:45 +01:00
\fI single_monocle\fR
2015-08-05 23:20:07 +02:00
.RS 4
2015-08-07 08:47:24 +02:00
Set the desktop layout to
\fB monocle\fR
if there\(cq s only one tiled window in the tree\& .
2015-08-05 23:20:07 +02:00
.RE
.PP
2016-05-28 09:43:05 +02:00
\fI pointer_motion_interval\fR
.RS 4
The minimum interval, in milliseconds, between two motion notify events\& .
.RE
.PP
2016-04-07 18:08:32 +02:00
\fI pointer_modifier\fR
.RS 4
Keyboard modifier used for moving or resizing windows\& . Accept the following values:
\fB shift\fR ,
\fB control\fR ,
\fB lock\fR ,
\fB mod1\fR ,
\fB mod2\fR ,
\fB mod3\fR ,
\fB mod4\fR ,
\fB mod5\fR \& .
.RE
.PP
2016-04-11 02:53:05 +10:00
\fI pointer_action1\fR , \fI pointer_action2\fR , \fI pointer_action3\fR
.RS 4
2016-04-10 22:24:25 +02:00
Action performed when pressing
\fI pointer_modifier\fR
+
\fI button<n>\fR \& . Accept the following values:
2016-04-11 02:53:05 +10:00
\fB move\fR ,
\fB resize_side\fR ,
\fB resize_corner\fR ,
2016-05-21 21:31:14 +02:00
\fB focus\fR ,
\fB none\fR \& .
2016-04-11 02:53:05 +10:00
.RE
.PP
2016-04-07 18:08:32 +02:00
\fI click_to_focus\fR
.RS 4
2017-07-12 10:33:51 +02:00
Button used for focusing a window (or a monitor)\& . The possible values are:
\fB button1\fR ,
\fB button2\fR ,
\fB button3\fR ,
\fB any\fR ,
2018-03-28 10:06:20 +02:00
\fB none\fR \& . Defaults to
\fB button1\fR \& .
2016-04-07 18:08:32 +02:00
.RE
.PP
2016-11-17 18:07:26 +01:00
\fI swallow_first_click\fR
.RS 4
2017-07-12 10:33:51 +02:00
Don\(cq t replay the click that makes a window focused if
2016-11-17 18:07:26 +01:00
\fI click_to_focus\fR
2017-07-12 10:33:51 +02:00
isn\(cq t
\fB none\fR \& .
2016-11-17 18:07:26 +01:00
.RE
.PP
2013-06-26 21:50:01 +02:00
\fI focus_follows_pointer\fR
.RS 4
Focus the window under the pointer\& .
.RE
.PP
2014-10-22 11:24:51 +02:00
\fI pointer_follows_focus\fR
.RS 4
When focusing a window, put the pointer at its center\& .
.RE
.PP
2013-06-26 21:50:01 +02:00
\fI pointer_follows_monitor\fR
.RS 4
When focusing a monitor, put the pointer at its center\& .
.RE
.PP
2018-03-07 15:13:06 +01:00
\fI mapping_events_count\fR
.RS 4
Handle the next
\fB mapping_events_count\fR
mapping notify events\& . A negative value implies that every event needs to be handled\& .
.RE
.PP
2013-10-26 17:54:44 +02:00
\fI ignore_ewmh_focus\fR
2013-09-23 11:45:00 +02:00
.RS 4
2018-04-03 17:51:16 +02:00
Ignore EWMH focus requests coming from applications\& .
2013-09-23 11:45:00 +02:00
.RE
2013-11-10 12:07:14 +01:00
.PP
2018-03-14 10:45:02 +01:00
\fI ignore_ewmh_fullscreen\fR
.RS 4
Block the fullscreen state transitions that originate from an EWMH request\& . The possible values are:
\fB none\fR ,
\fB all\fR , or a comma separated list of the following values:
\fB enter\fR ,
\fB exit\fR \& .
.RE
.PP
2019-01-24 23:52:08 -05:00
\fI ignore_ewmh_struts\fR
.RS 4
BIgnore strut hinting from clients requesting to reserve space (i\& .e\& . task bars)\& .
.RE
.PP
2015-01-15 14:18:25 +01:00
\fI center_pseudo_tiled\fR
.RS 4
Center pseudo tiled windows into their tiling rectangles\& . Defaults to
\fI true\fR \& .
.RE
.PP
2016-04-07 18:08:32 +02:00
\fI honor_size_hints\fR
.RS 4
Apply ICCCM window size hints\& .
.RE
.PP
2014-05-05 11:58:12 +02:00
\fI remove_disabled_monitors\fR
2013-11-10 12:07:14 +01:00
.RS 4
2018-04-03 17:51:16 +02:00
Consider disabled monitors as disconnected\& .
2013-11-10 12:07:14 +01:00
.RE
2014-04-29 11:50:09 +02:00
.PP
2014-05-05 11:46:55 +02:00
\fI remove_unplugged_monitors\fR
2014-04-29 11:50:09 +02:00
.RS 4
2018-04-03 17:51:16 +02:00
Remove unplugged monitors\& .
2014-04-29 11:50:09 +02:00
.RE
2014-05-05 11:54:49 +02:00
.PP
\fI merge_overlapping_monitors\fR
.RS 4
2018-04-03 17:51:16 +02:00
Merge overlapping monitors (the bigger remains)\& .
2014-05-05 11:54:49 +02:00
.RE
2013-12-28 10:30:49 +01:00
.SS "Monitor and Desktop Settings"
2013-09-15 11:51:12 +02:00
.PP
2013-12-28 10:30:49 +01:00
\fI top_padding\fR , \fI right_padding\fR , \fI bottom_padding\fR , \fI left_padding\fR
2013-09-15 11:51:12 +02:00
.RS 4
2013-12-28 10:30:49 +01:00
Padding space added at the sides of the monitor or desktop\& .
2013-09-15 11:51:12 +02:00
.RE
2016-03-21 14:28:04 +01:00
.SS "Desktop Settings"
2013-10-01 14:15:50 +02:00
.PP
2016-03-21 14:28:04 +01:00
\fI window_gap\fR
2013-12-25 10:06:02 +01:00
.RS 4
2016-03-21 14:28:04 +01:00
Size of the gap that separates windows\& .
2013-12-25 10:06:02 +01:00
.RE
2016-03-21 14:28:04 +01:00
.SS "Node Settings"
2013-12-25 10:06:02 +01:00
.PP
2016-03-21 14:28:04 +01:00
\fI border_width\fR
2013-10-01 14:15:50 +02:00
.RS 4
2016-03-21 14:28:04 +01:00
Window border width\& .
2013-10-01 14:15:50 +02:00
.RE
2016-04-07 18:08:32 +02:00
.SH "POINTER BINDINGS"
.PP
\fI click_to_focus\fR
2017-07-12 10:33:51 +02:00
.RS 4
Focus the window (or the monitor) under the pointer if the value isn\(cq t
\fB none\fR \& .
2016-04-07 18:08:32 +02:00
.RE
.PP
\fI pointer_modifier\fR + \fI button1\fR
.RS 4
Move the window under the pointer\& .
.RE
.PP
\fI pointer_modifier\fR + \fI button2\fR
.RS 4
Resize the window under the pointer by dragging the nearest side\& .
.RE
.PP
\fI pointer_modifier\fR + \fI button3\fR
.RS 4
Resize the window under the pointer by dragging the nearest corner\& .
.RE
2016-04-10 22:24:25 +02:00
.sp
The behavior of \fI pointer_modifier\fR + \fI button<n>\fR can be modified through the \fI pointer_action<n>\fR setting\& .
2015-11-09 15:00:47 +01:00
.SH "EVENTS"
.PP
\fI report\fR
.RS 4
See the next section for the description of the format\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI monitor_add <monitor_id> <monitor_name> <monitor_geometry>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A monitor is added\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI monitor_rename <monitor_id> <old_name> <new_name>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A monitor is renamed\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI monitor_remove <monitor_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A monitor is removed\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI monitor_swap <src_monitor_id> <dst_monitor_id>\fR
2016-02-01 11:46:03 +01:00
.RS 4
A monitor is swapped\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI monitor_focus <monitor_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A monitor is focused\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI monitor_geometry <monitor_id> <monitor_geometry>\fR
2015-11-09 15:00:47 +01:00
.RS 4
The geometry of a monitor changed\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI desktop_add <monitor_id> <desktop_id> <desktop_name>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A desktop is added\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI desktop_rename <monitor_id> <desktop_id> <old_name> <new_name>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A desktop is renamed\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI desktop_remove <monitor_id> <desktop_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A desktop is removed\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI desktop_swap <src_monitor_id> <src_desktop_id> <dst_monitor_id> <dst_desktop_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A desktop is swapped\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI desktop_transfer <src_monitor_id> <src_desktop_id> <dst_monitor_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A desktop is transferred\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI desktop_focus <monitor_id> <desktop_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
A desktop is focused\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI desktop_activate <monitor_id> <desktop_id>\fR
2015-12-22 19:25:45 +01:00
.RS 4
A desktop is activated\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI desktop_layout <monitor_id> <desktop_id> tiled|monocle\fR
2015-11-09 15:00:47 +01:00
.RS 4
The layout of a desktop changed\& .
.RE
.PP
2017-07-24 20:39:10 +02:00
\fI node_add <monitor_id> <desktop_id> <ip_id> <node_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
2017-07-24 20:39:10 +02:00
A node is added\& .
2015-11-09 15:00:47 +01:00
.RE
.PP
2017-07-24 20:39:10 +02:00
\fI node_remove <monitor_id> <desktop_id> <node_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
2017-07-24 20:39:10 +02:00
A node is removed\& .
2015-11-09 15:00:47 +01:00
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI node_swap <src_monitor_id> <src_desktop_id> <src_node_id> <dst_monitor_id> <dst_desktop_id> <dst_node_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
2015-12-22 19:25:45 +01:00
A node is swapped\& .
2015-11-09 15:00:47 +01:00
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI node_transfer <src_monitor_id> <src_desktop_id> <src_node_id> <dst_monitor_id> <dst_desktop_id> <dst_node_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
2015-12-22 19:25:45 +01:00
A node is transferred\& .
2015-11-09 15:00:47 +01:00
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI node_focus <monitor_id> <desktop_id> <node_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
2015-12-22 19:25:45 +01:00
A node is focused\& .
2015-11-09 15:00:47 +01:00
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI node_activate <monitor_id> <desktop_id> <node_id>\fR
2015-11-09 15:00:47 +01:00
.RS 4
2015-12-22 19:25:45 +01:00
A node is activated\& .
2015-11-09 15:00:47 +01:00
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI node_presel <monitor_id> <desktop_id> <node_id> (dir DIR|ratio RATIO|cancel)\fR
2015-12-22 19:25:45 +01:00
.RS 4
A node is preselected\& .
.RE
.PP
\fI node_stack <node_id_1> below|above <node_id_2>\fR
.RS 4
A node is stacked below or above another node\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI node_geometry <monitor_id> <desktop_id> <node_id> <node_geometry>\fR
2015-11-09 15:00:47 +01:00
.RS 4
The geometry of a window changed\& .
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI node_state <monitor_id> <desktop_id> <node_id> tiled|pseudo_tiled|floating|fullscreen on|off\fR
2015-11-09 15:00:47 +01:00
.RS 4
The state of a window changed\& .
.RE
.PP
2018-03-07 12:01:58 +01:00
\fI node_flag <monitor_id> <desktop_id> <node_id> hidden|sticky|private|locked|marked|urgent on|off\fR
2015-11-09 15:00:47 +01:00
.RS 4
2015-12-22 19:25:45 +01:00
One of the flags of a node changed\& .
2015-11-09 15:00:47 +01:00
.RE
.PP
2016-03-16 15:15:27 +01:00
\fI node_layer <monitor_id> <desktop_id> <node_id> below|normal|above\fR
2015-11-09 15:00:47 +01:00
.RS 4
The layer of a window changed\& .
.RE
2016-09-21 22:39:15 +02:00
.PP
\fI pointer_action <monitor_id> <desktop_id> <node_id> move|resize_corner|resize_side begin|end\fR
.RS 4
A pointer action occured\& .
.RE
2015-11-09 15:00:47 +01:00
.sp
Please note that \fB bspwm\fR initializes monitors before it reads messages on its socket, therefore the initial monitor events can\(cq t be received\& .
.SH "REPORT FORMAT"
2013-10-11 12:23:26 +02:00
.sp
2015-11-09 15:00:47 +01:00
Each report event message is composed of items separated by colons\& .
2013-10-11 12:23:26 +02:00
.sp
2013-11-26 00:08:03 -05:00
Each item has the form \fI <type><value>\fR where \fI <type>\fR is the first character of the item\& .
2013-10-11 12:23:26 +02:00
.PP
\fI M<monitor_name>\fR
.RS 4
Focused monitor\& .
.RE
.PP
\fI m<monitor_name>\fR
.RS 4
Unfocused monitor\& .
.RE
.PP
\fI O<desktop_name>\fR
.RS 4
Occupied focused desktop\& .
.RE
.PP
\fI o<desktop_name>\fR
.RS 4
Occupied unfocused desktop\& .
.RE
.PP
\fI F<desktop_name>\fR
.RS 4
Free focused desktop\& .
.RE
.PP
\fI f<desktop_name>\fR
.RS 4
Free unfocused desktop\& .
.RE
.PP
\fI U<desktop_name>\fR
.RS 4
Urgent focused desktop\& .
.RE
.PP
\fI u<desktop_name>\fR
.RS 4
Urgent unfocused desktop\& .
.RE
.PP
2014-07-19 10:32:04 +02:00
\fI L(T|M)\fR
2013-10-11 12:23:26 +02:00
.RS 4
2014-07-19 10:32:04 +02:00
Layout of the focused desktop of a monitor\& .
2013-10-11 12:23:26 +02:00
.RE
2015-12-22 19:25:45 +01:00
.PP
\fI T(T|P|F|=|@)\fR
.RS 4
State of the focused node of a focused desktop\& .
.RE
.PP
\fI G(S?P?L?)\fR
.RS 4
Active flags of the focused node of a focused desktop\& .
.RE
2013-06-26 21:50:01 +02:00
.SH "ENVIRONMENT VARIABLES"
.PP
\fI BSPWM_SOCKET\fR
.RS 4
2013-12-23 11:48:58 +01:00
The path of the socket used for the communication between
\fB bspc\fR
and
\fB bspwm\fR \& . If it isn\(cq t defined, then the following path is used:
2014-11-23 15:38:49 +01:00
\fI /tmp/bspwm<host_name>_<display_number>_<screen_number>\- socket\fR \& .
2013-06-26 21:50:01 +02:00
.RE
.SH "CONTRIBUTORS"
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
2013-07-03 09:25:27 +02:00
Steven Allen <steven at stebalien\& .com>
2013-06-26 21:50:01 +02:00
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
Thomas Adam <thomas at xteddy\& .org>
.RE
2013-07-03 09:25:27 +02:00
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
Ivan Kanakarakis <ivan\& .kanak at gmail\& .com>
.RE
2013-06-26 21:50:01 +02:00
.SH "AUTHOR"
.sp
2013-09-20 19:00:41 +02:00
Bastien Dejean <nihilhill at gmail\& .com>