1ICESH(1)                         User Commands                        ICESH(1)
2
3
4

NAME

6        icesh - control window properties and the IceWM window manager
7

SYNOPSIS

9       icesh OPTIONS|ACTIONS+
10

DESCRIPTION

12       icesh provides 85 commands to change or query a window's state, and to
13       interact with the icewm(1) window manager. Command arguments are called
14       actions. Window actions operate on a selection of windows.  icesh has
15       several options to select and filter windows.  Options and actions can
16       be interspersed. They are processed and evaluated one after another
17       from left to right. Therefore, an option can only affect a subsequent
18       action, but not a previous one. Because of this, an action can operate
19       on a different selection of windows than a previous action, if it is
20       preceded by a new select option. In combination with filter options,
21       this gives icesh its expressive power. Use it in icewm-keys(5) to
22       define your own window management hotkeys.
23

OPTIONS

25       icesh recognizes the following options:
26
27   SELECT OPTIONS
28       Select options specify the window or windows to which subsequent
29       actions apply. If none is given, but an action does require a window,
30       then a selection crossbar is invoked to select the desired window
31       interactively. The manager actions do not require window options.
32
33       The following five options select one or more client windows.  If
34       needed, they can be repeated for successive actions.
35
36       -w, -window WINDOW_ID
37           Specifies the identifier of the window, WINDOW_ID, for which the
38           action applies.  Special identifiers are root for the root window
39           and focus for the currently focused window.
40
41       -r, -root
42           Is equivalent to -window root and selects the root window.
43
44       -f, -focus
45           Is equivalent to -window focus and selects the focused window.
46
47       -a, -all
48           Selects all clients of the window manager.
49
50       -s, -shown
51           Selects all currently visible clients of the window manager.
52
53       -t, -top
54           Selects all toplevel windows from the display unconditionally.
55
56   FILTER OPTIONS
57       The following options filter the currently selected set of windows.  If
58       no previous select option was given then a -all option is implicitly
59       assumed to filter all client windows.
60
61       -c, -class WM_CLASS
62           Filters the set of windows on window manager class, WM_CLASS.  If
63           WM_CLASS contains a period, only windows with exactly the same
64           WM_CLASS property are matched.  If there is no period, windows of
65           the same class and windows of the same instance (aka. -name) are
66           selected.
67
68       -l, -last
69           Filter clients and keep only the most recent client.
70
71       -m, -machine HOST
72           Filters clients by host name. Clients with a WM_CLIENT_MACHINE
73           property equal to HOST are selected.
74
75       -n, -name NAME
76           Filters clients by _NET_WM_NAME or WM_NAME.  NAME matches any part
77           of the property value.  To match at the beginning use a "^" prefix.
78           To match at the end use a "$" suffix.
79
80       -p, -pid PID
81           Filters clients by process ID. Clients with a _NET_WM_PID property
82           equal to PID are selected.
83
84       -G, -Gravity GRAVITY
85           Filters clients by the window gravity field of the WM_NORMAL_HINTS
86           property.  Clients with a gravity equal to GRAVITY are selected.
87           If GRAVITY starts with an exclamation mark then the filtering is
88           inverted.
89
90       -L, -Layer LAYER
91           Filters clients by GNOME window layer, which can either be a layer
92           name (see below) or a layer number.  If LAYER starts with an
93           exclamation mark then the filtering is inverted.
94
95       -P, -Property PROP
96           Filters clients by property. Clients which have a property PROP are
97           selected.  The filtering is inverted if PROP starts with an
98           exclamation mark.
99
100       -R, -Role ROLE
101           Filters clients by WM_WINDOW_ROLE. Clients which have a
102           WM_WINDOW_ROLE property value equal to ROLE are selected.  The
103           filtering is inverted if ROLE starts with an exclamation mark.
104
105       -S, -State STATE
106           Filters clients by GNOME window state. Clients which have at least
107           a state of STATE are selected.  The window state refers to details
108           like minized or maximized and is explained below.  If STATE starts
109           with an exclamation mark then the filtering is inverted.  A
110           question mark "?" filters clients with any bit set in STATE.
111
112       -W, -Workspace WORKSPACE
113           Filter clients by workspace. Workspace WORKSPACE is either a
114           workspace name or a workspace number counting from zero.  If
115           WORKSPACE starts with an exclamation mark then the filtering is
116           inverted.
117
118       -X, -Xinerama MONITOR
119           Limit clients by RandR/Xinerama monitor. Only operate on clients
120           which are displayed on MONITOR, where MONITOR can be "All" for all
121           monitors, "this" for the monitor where the active window is
122           displayed, or a monitor number starting from zero.  See the output
123           of "randr" or "xinerama" below.
124
125   GENERAL OPTIONS
126       The following options are identical for every IceWM command.
127
128       -d, -display DISPLAY
129           Specifies the X11 DISPLAY.  If unspecified, defaults to $DISPLAY.
130
131       -h, --help
132           Print a brief usage statement to stdout and exit.
133
134       -V, --version
135           Print the program version to stdout and exit.
136
137       -C, --copying
138           Print copying permissions to stdout for the program and exit.
139

ACTIONS

141       icesh expects one or more action arguments.  There are two kinds of
142       actions: window actions and manager actions. The first operates on the
143       selected windows. The second directly interacts with the icewm window
144       manager.
145
146   WINDOW ACTIONS
147       The following actions affect the selected window or windows.
148
149       activate
150           Activate the window, aka. to focus.
151
152       close
153           Close the window.
154
155       kill
156           Terminate the window.
157
158       id  Print window identifiers for the selected windows.
159
160       pid Print process identifiers for the selected windows.
161
162       list
163           Show window details, like geometry and names.
164
165       lower
166           Lower the window.
167
168       raise
169           Raise the window.
170
171       above
172           Stack the window above others.
173
174       below
175           Stack the window below others.
176
177       rollup
178           Rollup the specified window.
179
180       fullscreen
181           Set the window to fullscreen.
182
183       maximize
184           Maximize the window.
185
186       horizontal
187           Maximize the window only horizontally.
188
189       vertical
190           Maximize the window only vertically.
191
192       minimize
193           Minimize the window.
194
195       restore
196           Restore the window to normal.
197
198       hide
199           Make window hidden.
200
201       unhide
202           Undo window hidden.
203
204       skip
205           Don't show window on taskbar.
206
207       unskip
208           Do show window on taskbar.
209
210       resize WIDTH HEIGHT
211           Resize window to WIDTH by HEIGHT window units.
212
213       sizeto WIDTH HEIGHT
214           Resize window to WIDTH by HEIGHT pixels. If WIDTH or HEIGHT ends
215           with a percent sign "%", then they refer to a percentage of the
216           desktop work area. For instance, "sizeto 50% 100%"a resizes to half
217           the desktop width and whatever height is available above or below
218           the taskbar.
219
220       move X Y
221           Move the selected window or windows to the screen position X Y.  To
222           specify X or Y values relative to the right side or bottom side
223           precede the value with an extra minus sign, like in "move -+10
224           --20".
225
226       moveby X Y
227           Displace window by X Y pixels.
228
229       center
230           Position window in the center of the desktop work area.
231
232       left
233           Position window against the left side of the desktop work area.
234
235       right
236           Position window against the right side of the desktop work area.
237
238       top Position window against the top side of the desktop work area.
239
240       bottom
241           Position window against the bottom side of the desktop work area.
242
243       setIconTitle TITLE
244           Set the icon title to TITLE.
245
246       getIconTitle
247           Print the icon title.
248
249       setWindowTitle TITLE
250           Set the window title to TITLE.
251
252       getWindowTitle
253           Print the window title.
254
255       setGeometry GEOMETRY
256           Set the window geometry to GEOMETRY.
257
258       getGeometry
259           Print the window geometry.
260
261       setState MASK STATE
262           Set the GNOME window state to STATE.  Only bits selected by MASK
263           are affected.  See below for STATE and MASK symbols.
264
265       toggleState STATE
266           Toggle the GNOME window state bits specified by the STATE
267           expression.  See below for STATE symbols.
268
269       getState
270           Print the GNOME window state for the specified window.
271
272       setHints HINTS
273           Set the GNOME window hints to HINTS. See below for symbols.
274
275       getHints
276           Print the GNOME window hints for the specified window.
277
278       setLayer LAYER
279           Move the specified window to another GNOME window layer.  See below
280           for LAYER symbols.
281
282       getLayer
283           Print the GNOME window layer for the specified window.
284
285       setWorkspace WORKSPACE
286           Move the specified window to another workspace.  Select the root
287           window to change the current workspace. If WORKSPACE is "All" then
288           the specified window becomes visible on all workspaces.  Specify
289           "this" for the current workspace.
290
291       getWorkspace
292           Print the workspace for the specified window.
293
294       opacity [OPACITY]
295           Print the window opacity if OPACITY is not given, otherwise set the
296           window opacity to OPACITY.
297
298       setTrayOption TRAYOPTION
299           Set the IceWM tray option for the specified window to TRAYOPTION.
300           See IceWM tray options, below, for TRAYOPTION symbols.
301
302       getTrayOption
303           Print the IceWM tray option for the specified window.
304
305       setNormalGravity GRAVITY
306           Set the window gravity field in the WM_NORMAL_HINTS property for
307           the specified window to GRAVITY.  See below for GRAVITY symbols.
308
309       getNormalGravity
310           Print the window gravity from the WM_NORMAL_HINTS property for the
311           specified window.
312
313       setWindowGravity GRAVITY
314           Set the window gravity for the specified window to GRAVITY.  See
315           below for GRAVITY symbols.
316
317       getWindowGravity
318           Print the window gravity for the specified window.
319
320       setBitGravity GRAVITY
321           Set the bit gravity> for the specified window to GRAVITY.  See
322           below for GRAVITY symbols.
323
324       getBitGravity
325           Print the bit gravity for the specified window.
326
327       motif [funcs FUNCTIONS | decor DECORATIONS | remove]
328           Query, set or modify the "_MOTIF_WM_HINTS" property for the
329           specified window.  Without arguments motif will show the current
330           value, but only if the window has such a property. The property can
331           be removed or reset with the remove argument. With funcs and decor
332           individual fields of this property can be enabled or disabled. If
333           FUNCTIONS or DECORATIONS starts with a minus or plus sign then the
334           existing value is modified, otherwise it is set to the new value.
335           Note that if "All" is set, then other set fields will be disabled
336           and cleared fields will be enabled.
337
338       prop PROPERTY
339           Print the value of property PROPERTY if it is present.  PROPERTY
340           can be a string, a window, or a list of one or more atoms or
341           cardinals.
342
343   MANAGER ACTIONS
344       The following actions control the IceWM window manager and therefore do
345       not require a window select or filter option:
346
347       listWorkspaces
348           List the names of all workspaces.
349
350       goto WORKSPACE
351           Change the current workspace to WORKSPACE.
352
353       workspaces [COUNT]
354           Print the number of workspaces if COUNT is not given, otherwise set
355           the number of workspaces to COUNT.
356
357       setWorkspaceName INDEX NAME
358           Change the name of the workspace INDEX to NAME, where INDEX is a
359           workspace number starting from zero.
360
361       setWorkspaceNames NAME [NAME]*
362           Change the workspace names to the list of NAMEs.
363
364       addWorkspace NAME
365           Create a new workspace with name NAME.
366
367       desktop [SHOWING]
368           If SHOWING is 1 then set "showing the desktop" mode.  If SHOWING is
369           0 then turn off "showing the desktop".  Print the current mode if
370           SHOWING is not given.
371
372       randr
373           Summarize the RandR configuration.
374
375       xinerama
376           Summarize the Xinerama configuration.
377
378       check
379           Print information about the current window manager, like name,
380           version, class, locale, command, host name and pid.
381
382       clients
383           List all managed client windows, their titles and geometries.
384
385       shown
386           List all mapped client windows for the current desktop, their
387           titles and geometries.
388
389       windows
390           List all toplevel windows, their titles and geometries.
391
392       systray
393           List applications which are managed by the IceWM system tray.
394
395       xembed
396           List application windows which are embedded using the XEMBED
397           protocol.  This is another way to discover system tray
398           applications.
399
400       logout
401           Let icewm execute the "LogoutCommand".
402
403       reboot
404           Let icewm execute the "RebootCommand".
405
406       shutdown
407           Let icewm execute the "ShutdownCommand".
408
409       cancel
410           Let icewm cancel the logout/reboot/shutdown.
411
412       about
413           Let icewm show the about window.
414
415       windowlist
416           Let icewm show the window list window.
417
418       restart
419           Let icewm restart itself.
420
421       suspend
422           Let icewm execute the "SuspendCommand".
423
424       winoptions
425           Let icewm reload the "winoptions".
426
427       guievents
428           Monitor the ICEWM_GUI_EVENT property and report all changes.
429
430       colormaps
431           Monitor which colormap is installed.
432
433       runonce program [arguments...]
434           This action is meant to be used together with the -class option.
435           Only if no window is matched by WM_CLASS then program
436           [arguments...] is executed.
437
438       sync
439           Synchronize with the IceWM window manager. That is, wait for icewm
440           to process all previous actions.
441
442       symbols
443           List all named symbols.
444
445   EXPRESSIONS
446       Some of the window actions require one or two EXPRESSION arguments.
447
448       EXPRESSION ::= SYMBOL | EXPRESSION { "+" | "|" } SYMBOL
449
450       Each SYMBOL may be from one of the following applicable domains:
451
452       GNOME window state
453           Named symbols of the domain GNOME window state (numeric range:
454           0-1023):
455
456               AllWorkspaces          (1)
457               Sticky                 (1)
458               Minimized              (2)
459               Maximized             (12)
460               MaximizedVert          (4)
461               MaximizedVertical      (4)
462               MaximizedHoriz         (8)
463               MaximizedHorizontal    (8)
464               Hidden                (16)
465               Rollup                (32)
466               All                 (1023)
467
468           These symbols are used with the MASK and STATE arguments to the
469           "setState" and "toggleState" actions. Some additional states
470           include: Above, Below, Urgent and Fullscreen.
471
472       GNOME window hint
473           Named symbols of the domain GNOME window hint (numeric range:
474           0-63):
475
476               SkipFocus              (1)
477               SkipWindowMenu         (2)
478               SkipTaskBar            (4)
479               FocusOnClick          (16)
480               DoNotCover            (32)
481               All                   (63)
482
483           These symbols are used with the HINTS argument to the "setHints"
484           action.
485
486       GNOME window layer
487           Named symbols of the domain GNOME window layer (numeric range:
488           0-15):
489
490               Desktop                (0)
491               Below                  (2)
492               Normal                 (4)
493               OnTop                  (6)
494               Dock                   (8)
495               AboveDock             (10)
496               Menu                  (12)
497
498           These symbols are used with the LAYER argument to the "setLayer"
499           action.
500
501       IceWM tray option
502           Named symbols of the domain IceWM tray option (numeric range: 0-2):
503
504               Ignore                 (0)
505               Minimized              (1)
506               Exclusive              (2)
507
508           These symbols are used with the TRAYOPTION argument to the
509           "setTrayOption" action.
510
511       Gravity symbols
512           Named symbols for window and bit gravity (numeric range: 0-10):
513
514               ForgetGravity         (0)
515               NorthWestGravity      (1)
516               NorthGravity          (2)
517               NorthEastGravity      (3)
518               WestGravity           (4)
519               CenterGravity         (5)
520               EastGravity           (6)
521               SouthWestGravity      (7)
522               SouthGravity          (8)
523               SouthEastGravity      (9)
524               StaticGravity         (10)
525
526       Motif functions
527               All                  (1)
528               Resize               (2)
529               Move                 (4)
530               Minimize             (8)
531               Maximize             (16)
532               Close                (32)
533
534       Motif decorations
535               All                  (1)
536               Border               (2)
537               Resize               (4)
538               Title                (8)
539               Menu                 (16)
540               Minimize             (32)
541               Maximize             (64)
542

EXAMPLES

544       List all workspace names:
545
546           icesh listWorkspaces
547
548       Example output:
549
550           workspace #0: `main'
551           workspace #1: `web'
552           workspace #2: `doc'
553           workspace #3: `dev'
554
555       Close terminal work and activate terminal fun.
556
557           icesh -c work.XTerm close -a -c fun.XTerm activate
558
559       Print opacity for all xterms.
560
561           icesh -c XTerm opacity
562
563       Change opacity for all xterms.
564
565           icesh -c XTerm opacity 84
566
567       Move all windows on workspace "Top" to the current workspace.
568
569           icesh -W "Top" setWorkspace "this"
570
571       Restore all hidden clients, minimize all clients on the current
572       workspace and activate Firefox.
573
574           icesh -S hidden restore -a -W "this" minimize -a -c Firefox activate
575
576       Resize the focused window to occupy the right half of the desktop area.
577
578           icesh -f sizeto 49% 100% sync top sync right sync raise activate
579

ENVIRONMENT

581       The following environment variables are examined by icesh:
582
583       DISPLAY
584           The display to use if the -display option is unspecified.
585

COMPLIANCE

587       While icesh is largely compliant with the GNOME WinWM/WMH
588       specification, it only minimally supports NetWM/EWMH.  Some commands,
589       like tray options and manager actions, are specific to IceWM.
590

SEE ALSO

592       icewm(1), wmctrl(1), xdotool(1), xprop(1), xwininfo(1).
593

BUGS

595       icesh had no known bugs at the time of release.  Please report bugs for
596       current versions to the source code repository at
597       <https://github.com/bbidulock/icewm/issues>.
598

AUTHOR

600       Brian Bidulock <mailto:bidulock@openss7.org>.
601
602       See --copying for full copyright notice and copying permissions.
603

LICENSE

605       IceWM is licensed under the GNU Library General Public License.  See
606       the COPYING file in the distribution or use the --copying flag to
607       display copying permissions.
608
609
610
611icewm 1.6.1                       2019-11-25                          ICESH(1)
Impressum