diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/debian-unstable/man1/icesh.1 | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/debian-unstable/man1/icesh.1')
-rw-r--r-- | upstream/debian-unstable/man1/icesh.1 | 1030 |
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. |