User Commands |
icesh - control window properties and the IceWM window manager
icesh provides 69 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.
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.
Specifies the identifier of the window, WINDOW_ID, for which the action applies. Special identifiers are root for the root window and focus for the currently focused window.
Is equivalent to -window root and selects the root window.
Is equivalent to -window focus and selects the focused window.
Selects all clients of the window manager.
Selects all currently visible clients of the window manager.
Selects all toplevel windows from the display unconditionally.
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.
Filters the set of windows on window manager class, WM_CLASS. If WM_CLASS contains a period, only windows with exactly the same WM_CLASS property are matched. If there is no period, windows of the same class and windows of the same instance (aka. -name) are selected.
Filter clients and keep only the most recent client.
Filters clients by process ID. Clients with a _NET_WM_PID property equal to PID are selected.
Filters clients by host name. Clients with a WM_CLIENT_MACHINE property equal to HOST are selected.
Filters clients by _NET_WM_NAME or WM_NAME. NAME matches any part of the property value. To match at the beginning use a ^
prefix. To match at the end use a $
suffix.
Filters clients by GNOME window layer, which can either be a layer name (see below) or a layer number.
Filters clients by GNOME window state. Clients which have at least a state of STATE are selected. The window state refers to details like minized or maximized and is explained below.
Filter clients by workspace. Workspace WORKSPACE is either a workspace name or a workspace number counting from zero.
Limit clients by RandR/Xinerama monitor. Only operate on clients which are displayed on MONITOR, where MONITOR can be All
for all monitors, this
for the monitor where the active window is displayed, or a monitor number starting from zero. See the output of randr
or xinerama
below.
The following options are identical for every IceWM command.
Specifies the X11 DISPLAY. If unspecified, defaults to $DISPLAY.
Print a brief usage statement to stdout and exit.
Print the program version to stdout and exit.
Print copying permissions to stdout for the program and exit.
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.
Activate the window, aka. to focus.
Close the window.
Terminate the window.
Print window identifiers for the selected windows.
Show window details, like geometry and names.
Lower the window.
Raise the window.
Stack the window above others.
Stack the window below others.
Rollup the specified window.
Set the window to fullscreen.
Maximize the window.
Maximize the window only horizontally.
Maximize the window only vertically.
Minimize the window.
Restore the window to normal.
Make window hidden.
Undo window hidden.
Don't show window on taskbar.
Do show window on taskbar.
Resize window to WIDTH by HEIGHT window units.
Move the selected window or windows to the screen position X Y. To specify X or Y values relative to the right side or bottom side precede the value with an extra minus sign, like in move -+10 --20
.
Displace window by X Y pixels.
Position window in the center of the screen.
Position window against the left side of the screen.
Position window against the right side of the screen.
Position window against the top side of the screen.
Position window against the bottom side of the screen.
Set the icon title to TITLE.
Print the icon title.
Set the window title to TITLE.
Print the window title.
Set the window geometry to GEOMETRY.
Print the window geometry.
Set the GNOME window state to STATE. Only bits selected by MASK are affected. See below for STATE and MASK symbols.
Toggle the GNOME window state bits specified by the STATE expression. See below for STATE symbols.
Print the GNOME window state for the specified window.
Set the GNOME window hints to HINTS. See below for symbols.
Print the GNOME window hints for the specified window.
Move the specified window to another GNOME window layer. See below for LAYER symbols.
Print the GNOME window layer for the specified window.
Move the specified window to another workspace. Select the root window to change the current workspace. If WORKSPACE is All
then the specified window becomes visible on all workspaces. Specify this
for the current workspace.
Print the workspace for the specified window.
Print the window opacity if OPACITY is not given, otherwise set the window opacity to OPACITY.
Set the IceWM tray option for the specified window to TRAYOPTION. See IceWM tray options, below, for TRAYOPTION symbols.
Print the IceWM tray option for the specified window.
The following actions control the IceWM window manager and therefore do not require a window select or filter option:
List the names of all workspaces.
Change the current workspace to WORKSPACE.
Print the number of workspaces if COUNT is not given, otherwise set the number of workspaces to COUNT.
Change the name of the workspace INDEX to NAME, where INDEX is a workspace number starting from zero.
Change the workspace names to the list of NAMEs.
If SHOWING is 1
then set showing the desktop
mode. If SHOWING is 0
then turn off showing the desktop
. Print the current mode if SHOWING is not given.
Summarize the RandR configuration.
Summarize the Xinerama configuration.
Print information about the current window manager, like name, version, class, locale, command, host name and pid.
List all managed client windows, their titles and geometries.
List all mapped client windows for the current desktop, their titles and geometries.
List all toplevel windows, their titles and geometries.
Let icewm execute the LogoutCommand
.
Let icewm execute the RebootCommand
.
Let icewm execute the ShutdownCommand
.
Let icewm cancel the logout/reboot/shutdown.
Let icewm show the about window.
Let icewm show the window list window.
Let icewm restart itself.
Let icewm execute the SuspendCommand
.
Monitor the ICEWM_GUI_EVENT property and report all changes.
Monitor which colormap is installed.
This action is meant to be used together with the -class option. Only if no window is matched by WM_CLASS then program [arguments...] is executed.
Some of the window actions require one or two EXPRESSION arguments.
+
| |
} SYMBOLEach SYMBOL may be from one of the following applicable domains:
Named symbols of the domain GNOME window state (numeric range: 0-1023):
AllWorkspaces (1)
Sticky (1)
Minimized (2)
Maximized (12)
MaximizedVert (4)
MaximizedVertical (4)
MaximizedHoriz (8)
MaximizedHorizontal (8)
Hidden (16)
Rollup (32)
All (1023)
These symbols are used with the MASK and STATE arguments to the setState
and toggleState
actions. Some additional states include: Above, Below, Urgent and Fullscreen.
Named symbols of the domain GNOME window hint (numeric range: 0-63):
SkipFocus (1)
SkipWindowMenu (2)
SkipTaskBar (4)
FocusOnClick (16)
DoNotCover (32)
All (63)
These symbols are used with the HINTS argument to the setHints
action.
Named symbols of the domain GNOME window layer (numeric range: 0-15):
Desktop (0)
Below (2)
Normal (4)
OnTop (6)
Dock (8)
AboveDock (10)
Menu (12)
These symbols are used with the LAYER argument to the setLayer
action.
Named symbols of the domain IceWM tray option (numeric range: 0-2):
Ignore (0)
Minimized (1)
Exclusive (2)
These symbols are used with the TRAYOPTION argument to the setTrayOption
action.
List all workspace names:
icesh listWorkspaces
Example output:
workspace #0: `main'
workspace #1: `web'
workspace #2: `doc'
workspace #3: `dev'
Close terminal work.
icesh -c work.XTerm close
Activate terminal fun.
icesh -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
The following environment variables are examined by icesh:
The display to use if the -display option is unspecified.
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 https://github.com/bbidulock/icewm/issues.
Brian Bidulock mailto:bidulock@openss7.org.
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.
User Commands |