.\" Title: bspwm
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 11/15/2015
+.\" Date: 11/26/2015
.\" Manual: Bspwm Manual
.\" Source: Bspwm 0.9
.\" Language: English
.\"
-.TH "BSPWM" "1" "11/15/2015" "Bspwm 0\&.9" "Bspwm Manual"
+.TH "BSPWM" "1" "11/26/2015" "Bspwm 0\&.9" "Bspwm Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\}
.sp
For obvious reasons, neither desktop nor monitor names may be valid descriptive selectors\&.
+.sp
+An exclamation mark can be prepended to certain modifiers in order to reverse their meaning\&.
.SS "Window"
.sp
Select a window\&.
.RS 4
.\}
.nf
-WINDOW_SEL := <window_id>
- | (DIR|CYCLE_DIR|biggest|last|focused|older|newer)[\&.manual|\&.automatic][\&.tiled|nontiled][\&.pseudotiled|\&.nonpseudotiled][\&.floating|\&.nonfloating][\&.fullscreen|\&.nonfullscreen][\&.below|\&.normal|\&.above][\&.local|\&.foreign][\&.like|\&.unlike][\&.focused|\&.unfocused][\&.urgent|\&.nonurgent][\&.sticky|\&.nonsticky][\&.public|\&.private][\&.locked|\&.unlocked]
+WINDOW_SEL := (<window_id>|DIR|CYCLE_DIR|biggest|last|focused|older|newer)[\&.[!]automatic][\&.[!](tiled|pseudo_tiled|floating|fullscreen)][\&.[!](below|normal|above)][\&.[!]local][\&.[!]same_class][\&.[!]focused][\&.[!](urgent|sticky|private|locked)]
.fi
.if n \{\
.RE
\fBModifiers\fR
.RS 4
.PP
-tiled
-.RS 4
-Only consider tiled windows\&.
-.RE
-.PP
-nontiled
-.RS 4
-Only consider tiled windows\&.
-.RE
-.PP
-pseudotiled
-.RS 4
-Only consider pseudo\-tiled windows\&.
-.RE
-.PP
-nonpseudotiled
-.RS 4
-Only consider non pseudo\-tiled windows\&.
-.RE
-.PP
-floating
-.RS 4
-Only consider floating windows\&.
-.RE
-.PP
-nonfloating
-.RS 4
-Only consider non floating windows\&.
-.RE
-.PP
-fullscreen
-.RS 4
-Only consider fullscreen windows\&.
-.RE
-.PP
-nonfullscreen
+[!](tiled|pseudo_tiled|floating|fullscreen)
.RS 4
-Only consider non fullscreen windows\&.
+Only consider windows having or not having the given state\&.
.RE
.PP
-manual
+[!]automatic
.RS 4
-Only consider windows in manual splitting mode\&.
+Only consider windows in automatic or manual insertion mode\&.
.RE
.PP
-automatic
+[!]focused
.RS 4
-Only consider windows in automatic splitting mode\&.
+Only consider focused or unfocused windows\&.
.RE
.PP
-focused
+[!]same_class
.RS 4
-Only consider focused windows\&.
+Only consider windows that have or don\(cqt have the same class as the current window\&.
.RE
.PP
-unfocused
+[!]local
.RS 4
-Only consider unfocused windows\&.
+Only consider windows in or not in the current desktop\&.
.RE
.PP
-below
+[!](private|urgent|sticky|locked)
.RS 4
-Only consider windows of the BELOW layer\&.
+Only consider windows that have or don\(cqt have the given flag set\&.
.RE
.PP
-normal
+[!](below|normal|above)
.RS 4
-Only consider windows of the NORMAL layer\&.
-.RE
-.PP
-above
-.RS 4
-Only consider windows of the ABOVE layer\&.
-.RE
-.PP
-like
-.RS 4
-Only consider windows that have the same class as the current window\&.
-.RE
-.PP
-unlike
-.RS 4
-Only consider windows that have a different class than the current window\&.
-.RE
-.PP
-local
-.RS 4
-Only consider windows of the current desktop\&.
-.RE
-.PP
-foreign
-.RS 4
-Only consider windows outside of the current desktop\&.
-.RE
-.PP
-private
-.RS 4
-Only consider private windows\&.
-.RE
-.PP
-public
-.RS 4
-Only consider non private windows\&.
-.RE
-.PP
-urgent
-.RS 4
-Only consider urgent windows\&.
-.RE
-.PP
-nonurgent
-.RS 4
-Only consider non urgent windows\&.
-.RE
-.PP
-sticky
-.RS 4
-Only consider sticky windows\&.
-.RE
-.PP
-nonsticky
-.RS 4
-Only consider non sticky windows\&.
-.RE
-.PP
-locked
-.RS 4
-Only consider locked windows\&.
-.RE
-.PP
-unlocked
-.RS 4
-Only consider non locked windows\&.
+Only consider windows in or not in the given layer\&.
.RE
.RE
.SS "Desktop"
.RS 4
.\}
.nf
-DESKTOP_SEL := <desktop_name>
- | [MONITOR_SEL:]^<n>
- | (CYCLE_DIR|last|[MONITOR_SEL:]focused|older|newer)[\&.occupied|\&.free][\&.urgent|\&.nonurgent][\&.local|\&.foreign]
+DESKTOP_SEL := (<desktop_name>|[MONITOR_SEL:](focused|^<n>)CYCLE_DIR|last|older|newer)[\&.[!]occupied][\&.[!]focused][\&.[!]urgent][\&.[!]local]
.fi
.if n \{\
.RE
\fBModifiers\fR
.RS 4
.PP
-occupied
-.RS 4
-Only consider occupied desktops\&.
-.RE
-.PP
-free
-.RS 4
-Only consider free desktops\&.
-.RE
-.PP
-urgent
+[!]occupied
.RS 4
-Only consider urgent desktops\&.
+Only consider occupied or free desktops\&.
.RE
.PP
-nonurgent
+[!]focused
.RS 4
-Only consider non urgent desktops\&.
+Only consider focused or unfocused desktops\&.
.RE
.PP
-local
+[!]urgent
.RS 4
-Only consider desktops of the current monitor\&.
+Only consider urgent or non urgent desktops\&.
.RE
.PP
-foreign
+[!]local
.RS 4
-Only consider desktops outside of the current monitor\&.
+Only consider inside or outside of the current monitor\&.
.RE
.RE
.SS "Monitor"
.RS 4
.\}
.nf
-MONITOR_SEL := <monitor_name>
- | ^<n>
- | (DIR|CYCLE_DIR|last|primary|focused|older|newer)[\&.occupied|\&.free]
+MONITOR_SEL := (<monitor_name>|^<n>|DIR|CYCLE_DIR|last|primary|focused|older|newer)[\&.[!]occupied][\&.[!]focused]
.fi
.if n \{\
.RE
\fBModifiers\fR
.RS 4
.PP
-occupied
+[!]occupied
.RS 4
-Only consider monitors where the focused desktop is occupied\&.
+Only consider monitors where the focused desktop is occupied or free\&.
.RE
.PP
-free
+[!]focused
.RS 4
-Only consider monitors where the focused desktop is free\&.
+Only consider focused or unfocused monitors\&.
.RE
.RE
.SH "WINDOW STATES"
.PP
\fB\-W\fR, \fB\-\-windows\fR
.RS 4
-List matching windows\&.
+List the IDs of the matching windows\&.
.RE
.PP
\fB\-D\fR, \fB\-\-desktops\fR
.RS 4
-List matching desktops\&.
+List the names of the matching desktops\&.
.RE
.PP
\fB\-M\fR, \fB\-\-monitors\fR
.RS 4
-List matching monitors\&.
+List the names of the matching monitors\&.
.RE
.PP
\fB\-T\fR, \fB\-\-tree\fR
.RS 4
-Print tree rooted at query\&.
+Print a JSON representation of the matching item\&.
.RE
.PP
\fB\-H\fR, \fB\-\-history\fR
.RS 4
-Print the history as it relates to the query\&.
+Print the focus history as it relates to the query\&.
.RE
.PP
\fB\-S\fR, \fB\-\-stack\fR
When focusing a monitor, put the pointer at its center\&.
.RE
.PP
-\fIauto_alternate\fR
-.RS 4
-Interpret consecutive identical
-\fB\-\-focus\fR
-arguments as the
-\fBlast\fR
-selector for the
-\fBmonitor\fR
-and
-\fBdesktop\fR
-commands\&.
-.RE
-.PP
-\fIauto_cancel\fR
-.RS 4
-Interpret consecutive identical
-\fB\-\-presel\fR
-arguments as
-\fB\-\-cancel\-presel\fR
-option\&.
-.RE
-.PP
\fIignore_ewmh_focus\fR
.RS 4
Ignore EWMH focus requests coming from applications\&.