summaryrefslogtreecommitdiffstats
path: root/upstream/debian-unstable/man1/icesh.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-unstable/man1/icesh.1')
-rw-r--r--upstream/debian-unstable/man1/icesh.11030
1 files changed, 1030 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man1/icesh.1 b/upstream/debian-unstable/man1/icesh.1
new file mode 100644
index 00000000..d433cead
--- /dev/null
+++ b/upstream/debian-unstable/man1/icesh.1
@@ -0,0 +1,1030 @@
+.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "ICESH 1"
+.TH ICESH 1 "2023-12-31" "icewm\ 3.4.5" "User Commands"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SS "\s-1NAME\s0"
+.IX Subsection "NAME"
+.Vb 1
+\& icesh \- control window properties and the IceWM window manager
+.Ve
+.SS "\s-1SYNOPSIS\s0"
+.IX Subsection "SYNOPSIS"
+.IP "\fBicesh\fR \fIOPTIONS|ACTIONS\fR+" 4
+.IX Item "icesh OPTIONS|ACTIONS+"
+.SS "\s-1DESCRIPTION\s0"
+.IX Subsection "DESCRIPTION"
+\&\fBicesh\fR provides two types of commands:
+.IP "1. Commands to directly interact with icewm:" 4
+.IX Item "1. Commands to directly interact with icewm:"
+These are listed in the section \*(L"\s-1MANAGER ACTIONS\*(R"\s0 below.
+They are easy to use, because they don't require to select one
+or more windows. For example, \f(CW\*(C`icesh restart\*(C'\fR will restart
+icewm and \f(CW\*(C`icesh clients\*(C'\fR lists the applications that
+are managed by icewm.
+.IP "2. Commands that operate on a selection of windows:" 4
+.IX Item "2. Commands that operate on a selection of windows:"
+See the section \f(CW\*(C`WINDOW ACTIONS\*(C'\fR below. For example, \f(CW\*(C`icesh close\*(C'\fR
+is a request to close a window, but which window? Now icesh
+will turn the mouse pointer into a crosshair. Click on a window
+and a close request will be sent to that application.
+.Sp
+The power of icesh lies in its ability to programmatically
+select one or more windows and operate on that selection.
+This can be used in scripts and in \fBicewm\-keys\fR\|(5)
+to define your own window management hotkeys. For example, to
+immediately close all xterm windows do \f(CW\*(C`icesh \-c xterm close\*(C'\fR.
+.Sp
+There are a dozen \f(CW\*(C`SELECT OPTIONS\*(C'\fR to select windows. They start
+with a '\-' or a '+'. The '\-' starts a new selection, while the '+'
+adds more windows to an existing selection.
+.Sp
+This selection of windows can be reduced by \f(CW\*(C`FILTER OPTIONS\*(C'\fR.
+These remove unwanted windows from the current selection.
+Multiple filter options can be given. For example,
+\&\f(CW\*(C`icesh \-c xterm \-W this close\*(C'\fR will close only those xterms
+that are shown on the current workspace. The xterms on other
+workspaces are filtered out by the \f(CW\*(C`\-W this\*(C'\fR filter option.
+.PP
+There is no limit to the number of commands, selections, filters
+and actions that you can give to a single icesh command.
+They are processed and evaluated one by one from left to right.
+This makes icesh a small declarative programming language.
+Have a look at some examples near the end of this document.
+.SS "\s-1OPTIONS\s0"
+.IX Subsection "OPTIONS"
+\&\fBicesh\fR recognizes the following options:
+.SS "\s-1SELECT OPTIONS\s0"
+.IX Subsection "SELECT OPTIONS"
+Select options specify the window or windows to which subsequent
+actions apply. If none is given, but an action does require a window,
+then a selection crosshair is shown to select the desired window
+interactively. The manager actions do not require window options.
+.PP
+The following options \fIselect\fR one or more client windows.
+If needed, they can be repeated for successive actions.
+.IP "\fB\-a\fR, \fB\-all\fR" 4
+.IX Item "-a, -all"
+Selects all client windows of the window manager.
+.IP "\fB\-f\fR, \fB\-focus\fR, \fB+f\fR, \fB+focus\fR" 4
+.IX Item "-f, -focus, +f, +focus"
+Selects the application window that is currently focused.
+The option with minus sign replaces the existing selection with
+the focused window. With a plus sign the focused window is added to
+an existing selection.
+.IP "\fB+g\fR, \fB+group\fR" 4
+.IX Item "+g, +group"
+Extend the current selection with client windows that
+belong to the same application window group.
+.IP "\fB\-r\fR, \fB\-root\fR, \fB+r\fR, \fB+root\fR" 4
+.IX Item "-r, -root, +r, +root"
+Selects the root window.
+The option with minus sign replaces the existing selection with
+the root window. With a plus sign the root window is added to
+an existing selection.
+.IP "\fB\-s\fR, \fB\-shown\fR" 4
+.IX Item "-s, -shown"
+Selects all client windows that are on the current workspace.
+.IP "\fB\-t\fR, \fB\-top\fR" 4
+.IX Item "-t, -top"
+Selects all toplevel windows from the display unconditionally.
+This includes windows that have never been mapped and windows
+with the override redirect bit set to evade management.
+.IP "\fB\-w\fR, \fB\-window\fR, \fB+w\fR, \fB+window\fR \fI\s-1WINDOW_ID\s0\fR" 4
+.IX Item "-w, -window, +w, +window WINDOW_ID"
+Specifies the identifier of the window, \fI\s-1WINDOW_ID\s0\fR, for which the
+action applies. Special identifiers are \fBroot\fR for the root window
+and \fBfocus\fR for the currently focused window.
+The option with minus sign replaces the existing selection.
+With a plus sign the window is added to an existing selection.
+.IP "\fB\-x\fR, \fB\-xembed\fR" 4
+.IX Item "-x, -xembed"
+Selects all windows that are embedded using the \fI\s-1XEMBED\s0\fR protocol.
+.IP "\fB+c\fR, \fB+class\fR \fI\s-1CLASS\s0\fR" 4
+.IX Item "+c, +class CLASS"
+Extend the current selection with client windows that have a
+\&\fI\s-1WM_CLASS\s0\fR property equal to \fI\s-1CLASS\s0\fR. This is the resource
+instance and class name. If \fI\s-1CLASS\s0\fR contains a period, only
+windows with exactly the same \fI\s-1WM_CLASS\s0\fR property are matched.
+If there is no period, windows of the same class and windows
+of the same instance are selected.
+.IP "\fB+C\fR, \fB+Class\fR" 4
+.IX Item "+C, +Class"
+Extend the current selection with client windows that
+have a \fI\s-1WM_CLASS\s0\fR property \fIsimilar\fR to the already
+selected set of windows.
+.IP "\fB\-D\fR, \fB\-Dockapps\fR" 4
+.IX Item "-D, -Dockapps"
+Selects all Dockapp applications that are managed by icewm.
+.IP "\fB+P\fR, \fB+Pid\fR" 4
+.IX Item "+P, +Pid"
+Extend the current selection with client windows that have
+the same process identifier as one of the selected windows.
+.IP "\fB\-T\fR" 4
+.IX Item "-T"
+Selects the IceWM taskbar.
+.SS "\s-1FILTER OPTIONS\s0"
+.IX Subsection "FILTER OPTIONS"
+The following options \fIfilter\fR the currently selected set of windows.
+If no previous \fIselect\fR option was given then a \fB\-all\fR option is
+implicitly assumed to filter all client windows.
+.IP "\fB\-c\fR, \fB\-class\fR \fI\s-1CLASS\s0\fR" 4
+.IX Item "-c, -class CLASS"
+Filters the set of windows on their \fI\s-1WM_CLASS\s0\fR property. This is
+the resource instance and class name. If \fI\s-1CLASS\s0\fR contains a period,
+only windows with exactly the same \fI\s-1WM_CLASS\s0\fR property are matched.
+If there is no period, windows of the same class and windows of the
+same instance (aka. \fI\-name\fR) are selected.
+.IP "\fB\-l\fR, \fB\-last\fR" 4
+.IX Item "-l, -last"
+Filter clients and keep only the most recent client.
+.IP "\fB\-m\fR, \fB\-machine\fR \fI\s-1HOST\s0\fR" 4
+.IX Item "-m, -machine HOST"
+Filters clients by host name. Clients with a \s-1WM_CLIENT_MACHINE\s0 property
+equal to \fI\s-1HOST\s0\fR are selected.
+.IP "\fB\-n\fR, \fB\-name\fR \fI\s-1NAME\s0\fR" 4
+.IX Item "-n, -name NAME"
+Filters clients by _NET_WM_NAME or \s-1WM_NAME.\s0
+\&\fI\s-1NAME\s0\fR matches any part of the property value.
+To match at the beginning use a \f(CW\*(C`^\*(C'\fR prefix.
+To match at the end use a \f(CW\*(C`$\*(C'\fR suffix.
+.IP "\fB\-p\fR, \fB\-pid\fR \fI\s-1PID\s0\fR" 4
+.IX Item "-p, -pid PID"
+Filters clients by process \s-1ID.\s0 Clients with a _NET_WM_PID property equal
+to \fI\s-1PID\s0\fR are selected.
+.IP "\fB\-u\fR, \fB\-unmapped\fR" 4
+.IX Item "-u, -unmapped"
+Filter clients and keep those that are currently not viewable.
+These are hidden, minimized, rolled-up, or on another workspace.
+.IP "\fB\-v\fR, \fB\-viewable\fR" 4
+.IX Item "-v, -viewable"
+Filter clients and keep only those that are currently viewable.
+These clients are mapped on the current workspace.
+.IP "\fB\-G\fR, \fB\-Gravity\fR \fI\s-1GRAVITY\s0\fR" 4
+.IX Item "-G, -Gravity GRAVITY"
+Filters clients by the window gravity field of the \s-1WM_NORMAL_HINTS\s0
+property. Clients with a gravity equal to \fI\s-1GRAVITY\s0\fR are selected.
+If \fI\s-1GRAVITY\s0\fR starts with an exclamation mark then the filtering is
+inverted.
+.IP "\fB\-L\fR, \fB\-Layer\fR \fI\s-1LAYER\s0\fR" 4
+.IX Item "-L, -Layer LAYER"
+Filters clients by \fI\s-1GNOME\s0 window layer\fR, which can either be a layer
+name or a layer number. See \s-1EXPRESSIONS\s0 below. If \fI\s-1LAYER\s0\fR starts with
+an exclamation mark then the filtering is inverted.
+.IP "\fB\-N\fR, \fB\-Netstate\fR \fI\s-1STATE\s0\fR" 4
+.IX Item "-N, -Netstate STATE"
+Filters clients by \fI\s-1EWMH\s0 window state\fR. Clients that have at
+least an \s-1EWMH\s0 window state of \fI\s-1STATE\s0\fR are selected. This state
+refers to details like \fB\s-1MINIZED\s0\fR or \fB\s-1MAXIMIZED\s0\fR. See \s-1EXPRESSIONS\s0
+below. If \fI\s-1STATE\s0\fR starts with an exclamation mark then the filtering
+is inverted. A question mark \f(CW\*(C`?\*(C'\fR filters clients with any bit set
+in \fI\s-1STATE\s0\fR.
+.IP "\fB\-P\fR, \fB\-Property\fR \fIPROP[=value]\fR" 4
+.IX Item "-P, -Property PROP[=value]"
+Filters clients by property. Clients that have a property \fI\s-1PROP\s0\fR
+are selected. If the optional \fIvalue\fR is given, the match succeeds
+only if \fI\s-1PROP\s0\fR is a string, window, cardinal, or atom, with a value
+equal to \fIvalue\fR. The filtering is inverted if \fI\s-1PROP\s0\fR starts with
+an exclamation mark.
+.IP "\fB\-R\fR, \fB\-Role\fR \fI\s-1ROLE\s0\fR" 4
+.IX Item "-R, -Role ROLE"
+Filters clients by \s-1WM_WINDOW_ROLE.\s0 Clients that have a \s-1WM_WINDOW_ROLE\s0
+property value equal to \fI\s-1ROLE\s0\fR are selected. The filtering is inverted
+if \fI\s-1ROLE\s0\fR starts with an exclamation mark.
+.IP "\fB\-W\fR, \fB\-Workspace\fR \fI\s-1WORKSPACE\s0\fR" 4
+.IX Item "-W, -Workspace WORKSPACE"
+Filter clients by workspace. Workspace \fI\s-1WORKSPACE\s0\fR is either a
+workspace name, or a workspace number counting from zero, or the word
+\&\f(CW\*(C`this\*(C'\fR for the current workspace, or the word \f(CW\*(C`All\*(C'\fR for all workspaces.
+If \fI\s-1WORKSPACE\s0\fR starts with an exclamation mark then the filtering is
+inverted.
+.IP "\fB\-X\fR, \fB\-Xinerama\fR \fI\s-1MONITOR\s0\fR" 4
+.IX Item "-X, -Xinerama MONITOR"
+Limit clients by \fIRandR\fR/\fIXinerama\fR monitor. Only operate on
+clients that are displayed on \fI\s-1MONITOR\s0\fR, where \fI\s-1MONITOR\s0\fR can
+be \f(CW\*(C`All\*(C'\fR for all monitors, \f(CW\*(C`this\*(C'\fR for the monitor where the
+active window is displayed, or a monitor number starting from zero.
+See the output of \f(CW\*(C`randr\*(C'\fR or \f(CW\*(C`xinerama\*(C'\fR below.
+.SS "\s-1GENERAL OPTIONS\s0"
+.IX Subsection "GENERAL OPTIONS"
+The following options are identical for every IceWM command.
+.IP "\fB\-d\fR, \fB\-display\fR \fI\s-1DISPLAY\s0\fR" 4
+.IX Item "-d, -display DISPLAY"
+Specifies the X11 \s-1DISPLAY.\s0 If unspecified, defaults to \fB\f(CB$DISPLAY\fB\fR.
+.IP "\fB\-h\fR, \fB\-\-help\fR" 4
+.IX Item "-h, --help"
+Print a brief usage statement to \fIstdout\fR and exit.
+.IP "\fB\-V\fR, \fB\-\-version\fR" 4
+.IX Item "-V, --version"
+Print the program version to \fIstdout\fR and exit.
+.IP "\fB\-C\fR, \fB\-\-copying\fR" 4
+.IX Item "-C, --copying"
+Print copying permissions to \fIstdout\fR for the program and exit.
+.IP "\fB\-q\fR, \fB\-\-quiet\fR" 4
+.IX Item "-q, --quiet"
+Don't complain if no matching windows could be found.
+.SS "\s-1ACTIONS\s0"
+.IX Subsection "ACTIONS"
+\&\fBicesh\fR expects one or more action arguments. There are two kinds of
+actions: \fIwindow actions\fR and \fImanager actions\fR. The first operates on
+the selected windows. The second directly interacts with the \fBicewm\fR
+window manager.
+.SS "\s-1WINDOW ACTIONS\s0"
+.IX Subsection "WINDOW ACTIONS"
+The following actions affect the selected window or windows.
+.IP "\fBactivate\fR" 4
+.IX Item "activate"
+Activate the window, aka. \fIto focus\fR.
+.IP "\fBclose\fR" 4
+.IX Item "close"
+Send a close request to the client that created the window.
+.IP "\fBkill\fR" 4
+.IX Item "kill"
+Force an immediate close down of the client that created the window.
+.IP "\fBid\fR" 4
+.IX Item "id"
+Print window identifiers for the selected windows.
+.IP "\fBpid\fR" 4
+.IX Item "pid"
+Print process identifiers for the selected windows.
+.IP "\fBlist\fR" 4
+.IX Item "list"
+Show window details, like geometry and names.
+.IP "\fBlower\fR" 4
+.IX Item "lower"
+Lower the window.
+.IP "\fBraise\fR" 4
+.IX Item "raise"
+Raise the window.
+.IP "\fBabove\fR" 4
+.IX Item "above"
+Stack the window above others.
+.IP "\fBbelow\fR" 4
+.IX Item "below"
+Stack the window below others.
+.IP "\fBrollup\fR" 4
+.IX Item "rollup"
+Rollup the specified window.
+.IP "\fBfullscreen\fR" 4
+.IX Item "fullscreen"
+Set the window to fullscreen.
+.IP "\fBmaximize\fR" 4
+.IX Item "maximize"
+Maximize the window.
+.IP "\fBhorizontal\fR" 4
+.IX Item "horizontal"
+Maximize the window only horizontally.
+.IP "\fBvertical\fR" 4
+.IX Item "vertical"
+Maximize the window only vertically.
+.IP "\fBminimize\fR" 4
+.IX Item "minimize"
+Minimize the window.
+.IP "\fBrestore\fR" 4
+.IX Item "restore"
+Restore the window to normal.
+.IP "\fBhide\fR" 4
+.IX Item "hide"
+Hide the window.
+.IP "\fBunhide\fR" 4
+.IX Item "unhide"
+Reveal the window.
+.IP "\fBskip\fR" 4
+.IX Item "skip"
+Don't show the window on the taskbar.
+.IP "\fBunskip\fR" 4
+.IX Item "unskip"
+Do show the window on the taskbar.
+.IP "\fBsticky\fR" 4
+.IX Item "sticky"
+Show the window on all workspaces.
+.IP "\fBunsticky\fR" 4
+.IX Item "unsticky"
+Show the window on just one workspace.
+.IP "\fBurgent\fR" 4
+.IX Item "urgent"
+Set the urgent flag to flash the task button.
+.IP "\fBresize\fR \fI\s-1WIDTH\s0\fR \fI\s-1HEIGHT\s0\fR" 4
+.IX Item "resize WIDTH HEIGHT"
+Resize window to \fI\s-1WIDTH\s0\fR by \fI\s-1HEIGHT\s0\fR window units. For text based
+applications like terminals, a window unit is the size of a single
+character cell.
+.IP "\fBsizeto\fR \fI\s-1WIDTH\s0\fR \fI\s-1HEIGHT\s0\fR" 4
+.IX Item "sizeto WIDTH HEIGHT"
+Resize window to \fI\s-1WIDTH\s0\fR by \fI\s-1HEIGHT\s0\fR pixels. If \fI\s-1WIDTH\s0\fR or \fI\s-1HEIGHT\s0\fR
+ends with a percent sign \f(CW\*(C`%\*(C'\fR, then they refer to a percentage of the
+desktop work area. For instance, \f(CW\*(C`sizeto 50% 100%\*(C'\fR resizes to half
+the desktop width and whatever height is available above or below the
+taskbar.
+.IP "\fBsizeby\fR \fI\s-1WIDTH\s0\fR \fI\s-1HEIGHT\s0\fR" 4
+.IX Item "sizeby WIDTH HEIGHT"
+Resize window by \fI\s-1WIDTH\s0\fR by \fI\s-1HEIGHT\s0\fR pixels. If \fI\s-1WIDTH\s0\fR or \fI\s-1HEIGHT\s0\fR
+ends with a percent sign \f(CW\*(C`%\*(C'\fR, then they refer to a percentage of the
+current window size. For instance, \f(CW\*(C`sizeby 50% 200\*(C'\fR increases the width
+by 50% and increases the height by 200 pixels.
+.IP "\fBmove\fR \fIX\fR \fIY\fR" 4
+.IX Item "move X Y"
+Move the selected window or windows to the screen position \fIX\fR \fIY\fR.
+To specify \fIX\fR or \fIY\fR values relative to the right side or bottom side
+precede the value with an extra minus sign, like in \f(CW\*(C`move \-+10 \-\-20\*(C'\fR.
+.IP "\fBmoveby\fR \fIX\fR \fIY\fR" 4
+.IX Item "moveby X Y"
+Displace window by \fIX\fR \fIY\fR pixels.
+.IP "\fBcenter\fR" 4
+.IX Item "center"
+Position the window in the center of the desktop work area.
+.IP "\fBleft\fR" 4
+.IX Item "left"
+Position the window against the left side of the desktop work area.
+.IP "\fBright\fR" 4
+.IX Item "right"
+Position the window against the right side of the desktop work area.
+.IP "\fBtop\fR" 4
+.IX Item "top"
+Position the window against the top side of the desktop work area.
+.IP "\fBbottom\fR" 4
+.IX Item "bottom"
+Position the window against the bottom side of the desktop work area.
+.IP "\fBsetIconTitle\fR \fI\s-1TITLE\s0\fR" 4
+.IX Item "setIconTitle TITLE"
+Set the icon title to \fI\s-1TITLE\s0\fR.
+.IP "\fBgetIconTitle\fR" 4
+.IX Item "getIconTitle"
+Print the icon title.
+.IP "\fBsetWindowTitle\fR \fI\s-1TITLE\s0\fR" 4
+.IX Item "setWindowTitle TITLE"
+Set the window title to \fI\s-1TITLE\s0\fR.
+.IP "\fBgetWindowTitle\fR" 4
+.IX Item "getWindowTitle"
+Print the window title.
+.IP "\fBsetGeometry\fR \fI\s-1GEOMETRY\s0\fR" 4
+.IX Item "setGeometry GEOMETRY"
+Set the window geometry to \fI\s-1GEOMETRY\s0\fR. This geometry should be
+specified in a format that can be parsed by \fBXParseGeometry\fR\|(3).
+Negative offsets are with respect to the bottom or right side of
+the screen. Use \f(CW\*(C`+\-\*(C'\fR for a truly negative position.
+.IP "\fBgetGeometry\fR" 4
+.IX Item "getGeometry"
+Print the window geometry.
+.IP "\fBsetClass\fR \fI\s-1CLASS\s0\fR" 4
+.IX Item "setClass CLASS"
+Set the resource name and class to \fI\s-1CLASS\s0\fR, which should be a resource
+name and a resource class connected by a dot. To preserve either the
+existing name or class, use a percentage sign for that part.
+.IP "\fBgetClass\fR" 4
+.IX Item "getClass"
+Print the resource name and class.
+.IP "\fBnetState\fR \fI[\s-1STATE\s0]\fR" 4
+.IX Item "netState [STATE]"
+If \fI\s-1STATE\s0\fR is omitted then it shows the \fI\s-1EWMH\s0 window state\fR.
+If \fI\s-1STATE\s0\fR starts with a \f(CW\*(C`+\*(C'\fR then flags in \fI\s-1STATE\s0\fR are appended to
+the existing \fI\s-1EWMH\s0 window state\fR. If \fI\s-1STATE\s0\fR starts with a \f(CW\*(C`\-\*(C'\fR
+then flags in \fI\s-1STATE\s0\fR are removed from the existing \fI\s-1EWMH\s0 window
+state\fR. If \fI\s-1STATE\s0\fR starts with a \f(CW\*(C`^\*(C'\fR then flags in \fI\s-1STATE\s0\fR are
+toggled with respect to the existing \fI\s-1EWMH\s0 window state\fR.
+If \fI\s-1STATE\s0\fR starts with a \f(CW\*(C`=\*(C'\fR then the \fI\s-1EWMH\s0 window state\fR
+is set to \fI\s-1STATE\s0\fR. See \s-1EXPRESSIONS\s0 below. A list of \fI\s-1EWMH\s0 flags\fR
+can be found in the output of \f(CW\*(C`icesh symbols\*(C'\fR.
+.IP "\fBsetLayer\fR \fI\s-1LAYER\s0\fR" 4
+.IX Item "setLayer LAYER"
+Move the specified window to another \fIwindow layer\fR.
+See \s-1EXPRESSIONS\s0 below for a list of \fI\s-1LAYER\s0\fR symbols.
+.IP "\fBgetLayer\fR" 4
+.IX Item "getLayer"
+Print the \fIwindow layer\fR for the specified window.
+.IP "\fBsetWorkspace\fR \fI\s-1WORKSPACE\s0\fR" 4
+.IX Item "setWorkspace WORKSPACE"
+Move the specified window to another workspace. Select the root
+window to change the current workspace. If \fI\s-1WORKSPACE\s0\fR is \f(CW\*(C`All\*(C'\fR
+then the specified window becomes visible on all workspaces.
+Specify \f(CW\*(C`this\*(C'\fR for the current workspace, \f(CW\*(C`next\*(C'\fR for the subsequent
+workspace or \f(CW\*(C`prev\*(C'\fR for the preceding workspace.
+.IP "\fBgetWorkspace\fR" 4
+.IX Item "getWorkspace"
+Print the workspace for the specified window.
+.IP "\fBopacity\fR [\fI\s-1OPACITY\s0\fR]" 4
+.IX Item "opacity [OPACITY]"
+Print the window opacity if \fI\s-1OPACITY\s0\fR is not given,
+otherwise set the window opacity to \fI\s-1OPACITY\s0\fR.
+.IP "\fBsetTrayOption\fR \fI\s-1TRAYOPTION\s0\fR" 4
+.IX Item "setTrayOption TRAYOPTION"
+Set the \fIIceWM tray option\fR for the specified window to \fI\s-1TRAYOPTION\s0\fR.
+See \fIIceWM tray options\fR, below, for \fI\s-1TRAYOPTION\s0\fR symbols.
+.IP "\fBgetTrayOption\fR" 4
+.IX Item "getTrayOption"
+Print the \fIIceWM tray option\fR for the specified window.
+.IP "\fBsetNormalGravity\fR \fI\s-1GRAVITY\s0\fR" 4
+.IX Item "setNormalGravity GRAVITY"
+Set the window gravity field in the \s-1WM_NORMAL_HINTS\s0 property for the
+specified window to \fI\s-1GRAVITY\s0\fR. See below for \fI\s-1GRAVITY\s0\fR symbols.
+.IP "\fBgetNormalGravity\fR" 4
+.IX Item "getNormalGravity"
+Print the window gravity from the \s-1WM_NORMAL_HINTS\s0 property for the
+specified window.
+.IP "\fBsetWindowGravity\fR \fI\s-1GRAVITY\s0\fR" 4
+.IX Item "setWindowGravity GRAVITY"
+Set the window gravity for the specified window to \fI\s-1GRAVITY\s0\fR.
+See below for \fI\s-1GRAVITY\s0\fR symbols.
+.IP "\fBgetWindowGravity\fR" 4
+.IX Item "getWindowGravity"
+Print the window gravity for the specified window.
+.IP "\fBsetBitGravity\fR \fI\s-1GRAVITY\s0\fR" 4
+.IX Item "setBitGravity GRAVITY"
+Set the bit gravity> for the specified window to \fI\s-1GRAVITY\s0\fR.
+See below for \fI\s-1GRAVITY\s0\fR symbols.
+.IP "\fBgetBitGravity\fR" 4
+.IX Item "getBitGravity"
+Print the bit gravity for the specified window.
+.IP "\fBmotif\fR [\fBfuncs\fR \fI\s-1FUNCTIONS\s0\fR | \fBdecor\fR \fI\s-1DECORATIONS\s0\fR | \fBremove\fR]" 4
+.IX Item "motif [funcs FUNCTIONS | decor DECORATIONS | remove]"
+Query, set or modify the \f(CW\*(C`_MOTIF_WM_HINTS\*(C'\fR property for the specified
+window. Without arguments \fBmotif\fR will show the current value, but
+only if the window has such a property. The property can be removed or
+reset with the \fBremove\fR argument. With \fBfuncs\fR and \fBdecor\fR individual
+fields of this property can be enabled or disabled. If \fI\s-1FUNCTIONS\s0\fR or
+\&\fI\s-1DECORATIONS\s0\fR starts with a minus or plus sign then the existing value
+is modified, otherwise it is set to the new value. Note that if \f(CW\*(C`All\*(C'\fR
+is set, other set fields are disabled and cleared fields are enabled.
+.IP "\fBborderless\fR" 4
+.IX Item "borderless"
+Hide the frame borders and title.
+.IP "\fBbordered\fR" 4
+.IX Item "bordered"
+Show the frame borders and title.
+.IP "\fBdenormal\fR" 4
+.IX Item "denormal"
+Remove the \s-1WM_NORMAL_HINTS\s0 property, if it exists. This lifts
+font-size restrictions on resizing, especially for terminals.
+.IP "\fBprop\fR \fI\s-1PROPERTY\s0\fR" 4
+.IX Item "prop PROPERTY"
+Print the value of property \fI\s-1PROPERTY\s0\fR, if it is present.
+.IP "\fBproperties\fR" 4
+.IX Item "properties"
+Print all properties and their values.
+.IP "\fBframe\fR" 4
+.IX Item "frame"
+Print the identifier of the window frame.
+.IP "\fBextents\fR" 4
+.IX Item "extents"
+Print the window identifier and the frame border sizes: left, right,
+top and bottom.
+.IP "\fBfocusmodel\fR" 4
+.IX Item "focusmodel"
+Print the \s-1ICCCM\s0 focus model as advertised by the client window.
+This is either Locally, Passive, Globally or NoInput.
+.IP "\fBoverride\fR [\fI0|1\fR]" 4
+.IX Item "override [0|1]"
+Print the override redirect status for the window, or if either 0 or 1
+is given, then disable or enable the override redirect status.
+.IP "\fBtabto\fR \fIlabel\fR" 4
+.IX Item "tabto label"
+Move the windows as tabs to a frame that has \f(CW\*(C`frame\*(C'\fR label \fIlabel\fR.
+Such a frame is created if needed.
+.IP "\fBuntab\fR" 4
+.IX Item "untab"
+Move each window to its own frame, if it is currently tabbed.
+.IP "\fBloadicon\fR \fIimage.pam\fR" 4
+.IX Item "loadicon image.pam"
+Load an icon from file, which must be in the \s-1PAM\s0 image format,
+with dimensions at most 256, a depth of 4, and type \fI\s-1RGB_ALPHA\s0\fR.
+.IP "\fBsaveicon\fR \fIfile000.pam\fR" 4
+.IX Item "saveicon file000.pam"
+Save an icon to a new file in the \s-1PAM\s0 image format. Digits are
+increased to generate a unique new filename for each window.
+.IP "\fBclick\fR \fIwindow-x\fR \fIwindow-y\fR \fIbutton\fR" 4
+.IX Item "click window-x window-y button"
+Send a button press and release event at position (\fIwindow-x\fR,
+\&\fIwindow-y\fR). A negative position is relative to the bottom right
+corner. The mouse pointer is warped to the position before sending
+the events. The button number should be between 1 and 5 inclusive.
+.IP "\fBmonitors\fR \fItop\fR \fIbottom\fR \fIleft\fR \fIright\fR" 4
+.IX Item "monitors top bottom left right"
+This sets the monitors to use for fullscreen.
+Top, bottom, left, and right are indices of the \fIicesh xinerama\fR command.
+.IP "\fBspy\fR" 4
+.IX Item "spy"
+Observe the selected windows and report any changes. This includes
+focus, visibility, position, size and all window properties.
+To monitor all of the protocol request messages that client applications
+may send to icewm, also spy on the root window.
+.IP "\fBstacking\fR" 4
+.IX Item "stacking"
+Sort the list of windows from topmost to bottom-most.
+.IP "\fBreverse\fR" 4
+.IX Item "reverse"
+Reverse the order of the list of windows.
+.SS "\s-1MANAGER ACTIONS\s0"
+.IX Subsection "MANAGER ACTIONS"
+The following actions control the IceWM window manager and therefore
+do not require a window \fIselect\fR or \fIfilter\fR option:
+.IP "\fBlistWorkspaces\fR" 4
+.IX Item "listWorkspaces"
+List the names of all workspaces.
+.IP "\fBcurrent\fR" 4
+.IX Item "current"
+Show the number and name of the current workspace.
+.IP "\fBgoto\fR \fI\s-1WORKSPACE\s0\fR" 4
+.IX Item "goto WORKSPACE"
+Change the current workspace to \fI\s-1WORKSPACE\s0\fR. Specify \f(CW\*(C`next\*(C'\fR for the
+subsequent workspace or \f(CW\*(C`prev\*(C'\fR for the preceding workspace.
+.IP "\fBworkspaces\fR [\fI\s-1COUNT\s0\fR]" 4
+.IX Item "workspaces [COUNT]"
+Print the number of workspaces if \fI\s-1COUNT\s0\fR is not given,
+otherwise set the number of workspaces to \fI\s-1COUNT\s0\fR.
+.IP "\fBsetWorkspaceName\fR \fI\s-1INDEX\s0\fR \fI\s-1NAME\s0\fR" 4
+.IX Item "setWorkspaceName INDEX NAME"
+Change the name of the workspace \fI\s-1INDEX\s0\fR to \fI\s-1NAME\s0\fR, where \fI\s-1INDEX\s0\fR is
+a workspace number starting from zero.
+.IP "\fBsetWorkspaceNames\fR \fI\s-1NAME\s0\fR [\fI\s-1NAME\s0\fR]*" 4
+.IX Item "setWorkspaceNames NAME [NAME]*"
+Change the workspace names to the list of \fI\s-1NAME\s0\fRs.
+.IP "\fBaddWorkspace\fR \fI\s-1NAME\s0\fR" 4
+.IX Item "addWorkspace NAME"
+Create a new workspace with name \fI\s-1NAME\s0\fR.
+.IP "\fBdesktop\fR [\fI\s-1SHOWING\s0\fR]" 4
+.IX Item "desktop [SHOWING]"
+If \fI\s-1SHOWING\s0\fR is \f(CW1\fR then set \f(CW\*(C`showing the desktop\*(C'\fR mode.
+If \fI\s-1SHOWING\s0\fR is \f(CW0\fR then turn off \f(CW\*(C`showing the desktop\*(C'\fR.
+Print the current mode if \fI\s-1SHOWING\s0\fR is not given.
+.IP "\fBworkarea\fR" 4
+.IX Item "workarea"
+Print the dimensions of the work area for the current workspace.
+This is the desktop, but minus space occupied by dock and panel windows.
+.IP "\fBrandr\fR" 4
+.IX Item "randr"
+Summarize the \fIRandR\fR configuration.
+.IP "\fBxinerama\fR" 4
+.IX Item "xinerama"
+Summarize the \fIXinerama\fR configuration.
+.IP "\fBcheck\fR" 4
+.IX Item "check"
+Print information about the current window manager, like name,
+version, class, locale, command, host name and pid.
+.IP "\fBclients\fR" 4
+.IX Item "clients"
+List all managed client windows, their titles and geometries.
+.IP "\fBshown\fR" 4
+.IX Item "shown"
+List all mapped client windows for the current desktop,
+their titles and geometries.
+.IP "\fBwindows\fR" 4
+.IX Item "windows"
+List all toplevel windows, their titles and geometries.
+.IP "\fBsystray\fR" 4
+.IX Item "systray"
+List applications that are managed by the IceWM system tray.
+.IP "\fBxembed\fR" 4
+.IX Item "xembed"
+List application windows that are embedded using the \fI\s-1XEMBED\s0\fR protocol.
+This is another way to discover system tray applications.
+.IP "\fBlogout\fR" 4
+.IX Item "logout"
+Let icewm execute the \f(CW\*(C`LogoutCommand\*(C'\fR.
+.IP "\fBreboot\fR" 4
+.IX Item "reboot"
+Let icewm execute the \f(CW\*(C`RebootCommand\*(C'\fR.
+.IP "\fBshutdown\fR" 4
+.IX Item "shutdown"
+Let icewm execute the \f(CW\*(C`ShutdownCommand\*(C'\fR.
+.IP "\fBcancel\fR" 4
+.IX Item "cancel"
+Let icewm cancel the logout/reboot/shutdown.
+.IP "\fBabout\fR" 4
+.IX Item "about"
+Let icewm show the about window.
+.IP "\fBwindowlist\fR" 4
+.IX Item "windowlist"
+Let icewm show the window list window.
+.IP "\fBrestart\fR" 4
+.IX Item "restart"
+Let icewm restart itself.
+.IP "\fBsuspend\fR" 4
+.IX Item "suspend"
+Let icewm execute the \f(CW\*(C`SuspendCommand\*(C'\fR.
+.IP "\fBhibernate\fR" 4
+.IX Item "hibernate"
+Let icewm execute the \f(CW\*(C`HibernateCommand\*(C'\fR.
+.IP "\fBwinoptions\fR" 4
+.IX Item "winoptions"
+Let icewm reload the \f(CW\*(C`winoptions\*(C'\fR.
+.IP "\fBkeys\fR" 4
+.IX Item "keys"
+Let icewm reload the \f(CW\*(C`keys\*(C'\fR file.
+.IP "\fBrefresh\fR" 4
+.IX Item "refresh"
+Let icewm refresh the desktop background.
+.IP "\fBguievents\fR" 4
+.IX Item "guievents"
+Monitor the \fB\s-1ICEWM_GUI_EVENT\s0\fR property and report all changes.
+Hit \f(CW\*(C`Ctrl+C\*(C'\fR to abort this and continue with the next command.
+.IP "\fBdelay\fR [\fItime\fR]" 4
+.IX Item "delay [time]"
+Stop execution for \fItime\fR or 0.1 seconds.
+.IP "\fBrunonce\fR \fIprogram\fR [\fIarguments...\fR]" 4
+.IX Item "runonce program [arguments...]"
+This action is meant to be used together with the \fB\-class\fR option.
+Only if no window is matched by \fI\s-1WM_CLASS\s0\fR then
+\&\fIprogram\fR [\fIarguments...\fR] is executed.
+.IP "\fBloop\fR [\fIcount\fR]" 4
+.IX Item "loop [count]"
+Loop back to the beginning of the command and repeat. The optional
+\&\fIcount\fR limits the number of repetitions.
+.IP "\fBpick\fR" 4
+.IX Item "pick"
+Choose a window by a mouse button click.
+.IP "\fBsync\fR" 4
+.IX Item "sync"
+Synchronize with the IceWM window manager. That is, wait for icewm to
+process all previous actions.
+.IP "\fBsymbols\fR" 4
+.IX Item "symbols"
+List all named symbols.
+.SS "\s-1CONDITIONALS\s0"
+.IX Subsection "CONDITIONALS"
+Icesh supports \f(CW\*(C`if\-then\-else\*(C'\fR expressions. The full syntax is:
+.PP
+.Vb 9
+\& if selection
+\& then
+\& actions
+\& elif selection
+\& then
+\& actions
+\& else
+\& actions
+\& end
+.Ve
+.PP
+Where \f(CW\*(C`selection\*(C'\fR is a sequence of selection and filtering options,
+which evaluates to \fBtrue\fR when it is non-empty. That is, if one or more
+windows fulfilled the condition. If it is empty, then its \f(CW\*(C`actions\*(C'\fR
+clause is ignored and the subsequent \f(CW\*(C`elif\*(C'\fR or \f(CW\*(C`else\*(C'\fR clause is tried
+or taken. Each clause is optional.
+.PP
+Whenever a selection condition evaluates to \fBfalse\fR, the window selection
+that existed before the \f(CW\*(C`if\*(C'\fR clause is immediately restored. This also
+happens after an \f(CW\*(C`end\*(C'\fR clause.
+.SS "\s-1EXPRESSIONS\s0"
+.IX Subsection "EXPRESSIONS"
+Some of the window actions require one or two \fI\s-1EXPRESSION\s0\fR arguments.
+.ie n .IP "\fB\s-1EXPRESSION\s0\fR ::= \fI\s-1SYMBOL\s0\fR | \fI\s-1EXPRESSION\s0\fR { ""+"" | ""|"" } \fI\s-1SYMBOL\s0\fR" 4
+.el .IP "\fB\s-1EXPRESSION\s0\fR ::= \fI\s-1SYMBOL\s0\fR | \fI\s-1EXPRESSION\s0\fR { \f(CW+\fR | \f(CW|\fR } \fI\s-1SYMBOL\s0\fR" 4
+.IX Item "EXPRESSION ::= SYMBOL | EXPRESSION { + | | } SYMBOL"
+.PP
+Each \fI\s-1SYMBOL\s0\fR may be from one of the following applicable domains:
+.IP "\fIWindow layer\fR" 4
+.IX Item "Window layer"
+Named symbols of the domain \fIWindow layer\fR (numeric range: 0\-15):
+.Sp
+.Vb 9
+\& Desktop (0)
+\& Below (2)
+\& Normal (4)
+\& OnTop (6)
+\& Dock (8)
+\& AboveDock (10)
+\& Menu (12)
+\& Fullscreen (14)
+\& AboveAll (15)
+.Ve
+.Sp
+These symbols are used with the \fI\s-1LAYER\s0\fR argument to the \f(CW\*(C`setLayer\*(C'\fR
+action.
+.IP "\fIIceWM tray option\fR" 4
+.IX Item "IceWM tray option"
+Named symbols of the domain \fIIceWM tray option\fR (numeric range: 0\-2):
+.Sp
+.Vb 3
+\& Ignore (0)
+\& Minimized (1)
+\& Exclusive (2)
+.Ve
+.Sp
+These symbols are used with the \fI\s-1TRAYOPTION\s0\fR argument to the
+\&\f(CW\*(C`setTrayOption\*(C'\fR action.
+.IP "\fIGravity symbols\fR" 4
+.IX Item "Gravity symbols"
+Named symbols for window and bit gravity (numeric range: 0\-10):
+.Sp
+.Vb 11
+\& ForgetGravity (0)
+\& NorthWestGravity (1)
+\& NorthGravity (2)
+\& NorthEastGravity (3)
+\& WestGravity (4)
+\& CenterGravity (5)
+\& EastGravity (6)
+\& SouthWestGravity (7)
+\& SouthGravity (8)
+\& SouthEastGravity (9)
+\& StaticGravity (10)
+.Ve
+.IP "\fIMotif functions\fR" 4
+.IX Item "Motif functions"
+.Vb 6
+\& All (1)
+\& Resize (2)
+\& Move (4)
+\& Minimize (8)
+\& Maximize (16)
+\& Close (32)
+.Ve
+.IP "\fIMotif decorations\fR" 4
+.IX Item "Motif decorations"
+.Vb 7
+\& All (1)
+\& Border (2)
+\& Resize (4)
+\& Title (8)
+\& Menu (16)
+\& Minimize (32)
+\& Maximize (64)
+.Ve
+.IP "\fI\s-1EWMH\s0 window state symbols\fR" 4
+.IX Item "EWMH window state symbols"
+Named symbols of the domain \fI\s-1EWMH\s0 state\fR (numeric range:
+0\-8191):
+.Sp
+.Vb 10
+\& ABOVE (1)
+\& BELOW (2)
+\& DEMANDS_ATTENTION (4)
+\& FOCUSED (8)
+\& FULLSCREEN (16)
+\& HIDDEN (32)
+\& MAXIMIZED_HORZ (64)
+\& MAXIMIZED_VERT (128)
+\& MODAL (256)
+\& SHADED (512)
+\& SKIP_PAGER (1024)
+\& SKIP_TASKBAR (2048)
+\& STICKY (4096)
+.Ve
+.SS "\s-1EXAMPLES\s0"
+.IX Subsection "EXAMPLES"
+List all workspace names:
+.PP
+.Vb 1
+\& icesh listWorkspaces
+.Ve
+.PP
+Example output:
+.PP
+.Vb 4
+\& workspace #0: \`main\*(Aq
+\& workspace #1: \`web\*(Aq
+\& workspace #2: \`doc\*(Aq
+\& workspace #3: \`dev\*(Aq
+.Ve
+.PP
+Close terminal work and activate terminal fun.
+.PP
+.Vb 1
+\& icesh \-c work.XTerm close \-a \-c fun.XTerm activate
+.Ve
+.PP
+Print opacity for all xterms.
+.PP
+.Vb 1
+\& icesh \-c XTerm opacity
+.Ve
+.PP
+Change opacity for all xterms.
+.PP
+.Vb 1
+\& icesh \-c XTerm opacity 84
+.Ve
+.PP
+Move all windows on workspace \*(L"Top\*(R" to the current workspace.
+.PP
+.Vb 1
+\& icesh \-W "Top" setWorkspace "this"
+.Ve
+.PP
+Restore all hidden clients, minimize all clients on the current
+workspace and activate Firefox.
+.PP
+.Vb 1
+\& icesh \-N HIDDEN restore \-a \-W "this" minimize \-a \-c Firefox activate
+.Ve
+.PP
+Resize the focused window to occupy the right half of the desktop area.
+.PP
+.Vb 1
+\& icesh \-f sizeto 49% 100% top right raise
+.Ve
+.PP
+Toggle the frame border of the focused window.
+.PP
+.Vb 2
+\& if icesh \-f motif | grep \-q \*(Aqdecor:$\*(Aq; then \e
+\& icesh \-f motif decor All; else icesh \-f motif decor ""; fi
+.Ve
+.PP
+Here is a different solution using conditionals.
+.PP
+.Vb 1
+\& icesh \-f if \-P _NET_FRAME_EXTENTS=0 then bordered else borderless
+.Ve
+.PP
+Here is a conditional to either toggle the visibility of a roxterm
+that has a \s-1WM_ROLE\s0 value of \f(CW\*(C`special\*(C'\fR or start it with \fBrunonce\fR.
+.PP
+.Vb 4
+\& icesh if \-c roxterm.Roxterm \-R special then \e
+\& if \-v then hide \e
+\& elif \-u then setWorkspace this activate end \e
+\& else runonce roxterm \-\-role=special
+.Ve
+.PP
+Collect all urxvt terminals from the fourth workspace in a single frame
+on the current workspace.
+.PP
+.Vb 1
+\& icesh \-W 3 \-c urxvt tabto myfunnyname
+.Ve
+.PP
+Use the loop construct conditionally to wait for a certain window to
+appear.
+.PP
+.Vb 1
+\& icesh \-t if \-n Tooltip then list else delay 0.05 loop end
+.Ve
+.SS "\s-1ENVIRONMENT\s0"
+.IX Subsection "ENVIRONMENT"
+.IP "\fB\s-1DISPLAY\s0\fR" 4
+.IX Item "DISPLAY"
+The default display.
+.SS "\s-1EXIT STATUS\s0"
+.IX Subsection "EXIT STATUS"
+.IP "\fB0\fR" 4
+.IX Item "0"
+The last action completed successfully.
+.IP "\fB1\fR" 4
+.IX Item "1"
+The last action completed unsuccessfully, or no window met the condition.
+.IP "\fB2\fR" 4
+.IX Item "2"
+A conditional has invalid syntax.
+.IP "\fB3\fR" 4
+.IX Item "3"
+The display could not be opened.
+.IP "\fB4\fR" 4
+.IX Item "4"
+The X server reports an error while processing a request.
+.SS "\s-1COMPLIANCE\s0"
+.IX Subsection "COMPLIANCE"
+\&\fBicesh\fR is largely compliant with the \s-1EWMH\s0 and \s-1ICCCM\s0 specifications.
+Some commands, like manager actions, are specific to IceWM.
+.SS "\s-1SEE ALSO\s0"
+.IX Subsection "SEE ALSO"
+\&\fBicewm\fR\|(1), \fBwmctrl\fR\|(1), \fBxdotool\fR\|(1), \fBxprop\fR\|(1),
+\&\fBxwininfo\fR\|(1), \fBXParseGeometry\fR\|(3).
+.SS "\s-1BUGS\s0"
+.IX Subsection "BUGS"
+Please report bugs at <https://github.com/bbidulock/icewm/issues>.
+.SS "\s-1AUTHOR\s0"
+.IX Subsection "AUTHOR"
+Brian Bidulock <mailto:bidulock@openss7.org>.
+.PP
+See \fB\-\-copying\fR for full copyright notice and copying permissions.
+.SS "\s-1LICENSE\s0"
+.IX Subsection "LICENSE"
+\&\fBIceWM\fR is licensed under the \s-1GNU\s0 Library General Public License.
+See the \fI\s-1COPYING\s0\fR file in the distribution or use the \fB\-\-copying\fR flag
+to display copying permissions.