1ICESH(1) User Commands ICESH(1)
2
3
4
6 icesh - control window properties and the IceWM window manager
7
9 icesh OPTIONS|ACTIONS+
10
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
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
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
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
581 The following environment variables are examined by icesh:
582
583 DISPLAY
584 The display to use if the -display option is unspecified.
585
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
592 icewm(1), wmctrl(1), xdotool(1), xprop(1), xwininfo(1).
593
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
600 Brian Bidulock <mailto:bidulock@openss7.org>.
601
602 See --copying for full copyright notice and copying permissions.
603
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)