IceWM man pages

View the Project on GitHub


icesh - control window properties and the IceWM window manager



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


icesh recognizes the following 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 crossbar is invoked to select the desired window interactively. The manager actions do not require window options.

The following five options select one or more client windows. If needed, they can be repeated for successive actions.


The following options filter the currently selected set of windows. If no previous select option was given then a -all option is implicitly assumed to filter all client windows.


The following options are identical for every IceWM command.


icesh expects one or more action arguments. There are two kinds of actions: window actions and manager actions. The first operates on the selected windows. The second directly interacts with the icewm window manager.


The following actions affect the selected window or windows.


The following actions control the IceWM window manager and therefore do not require a window select or filter option:


Some of the window actions require one or two EXPRESSION arguments.

Each SYMBOL may be from one of the following applicable domains:


List all workspace names:

icesh listWorkspaces

Example output:

workspace #0: `main'
workspace #1: `web'
workspace #2: `doc'
workspace #3: `dev'

Close terminal work and activate terminal fun.

icesh -c work.XTerm close -a -c fun.XTerm activate

Print opacity for all xterms.

icesh -c XTerm opacity

Change opacity for all xterms.

icesh -c XTerm opacity 84

Move all windows on workspace “Top” to the current workspace.

icesh -W "Top" setWorkspace "this"

Restore all hidden clients, minimize all clients on the current workspace and activate Firefox.

icesh -S hidden restore -a -W "this" minimize -a -c Firefox activate

Resize the focused window to occupy the right half of the desktop area.

icesh -f sizeto 49% 100% sync top sync right sync raise activate


The following environment variables are examined by icesh:


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


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


icesh had no known bugs at the time of release. Please report bugs for current versions to the source code repository at Github.


Brian Bidulock.

See –copying for full copyright notice and copying permissions.


IceWM is licensed under the GNU Library General Public License. See the COPYING file in the distribution or use the –copying flag to display copying permissions.

Index IceWM