User Commands

# NAME

     icesh - control properties of windows

# SYNOPSIS

icesh [OPTIONS] ACTIONS

# DESCRIPTION

icesh provides commands for use by shell scripts that affect a window's state, similar to wmctrl(1) or xdotool(1), except mostly limited to GNOME WinWM/WMH properties and icewm(1) specific commands.

# OPTIONS

icesh recognizes the following options:

## COMMAND OPTIONS

A command option specifies the window or windows to which subsequent arguments apply. If no command option is given, but an argument does require a window then a selection crossbar is invoked to select the desired window interactively. Some arguments do not require this.

-w, -window WINDOW_ID

  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.

-c, -class WM_CLASS

  Specifies the window manager class, WM_CLASS, for which the action applies. 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.

-r, -root

  Is equivalent to -window root.

-f, -focus

  Is equivalent to -window focus.

## GENERAL OPTIONS

-d, -display DISPLAY

  Specifies the X11 DISPLAY. If unspecified, defaults to $DISPLAY.

-h, --help

  Print a brief usage statement to stdout and exit.

-V, --version

  Print the program version to stdout and exit.

-C, --copying

  Print copying permissions to stdout for the program and exit.

# ARGUMENTS

icesh accepts the following arguments:

ACTIONS ::= ACTION [ACTION]*

  Actions can be one of:

  setIconTitle TITLE

    Set the icon title for the specified window to TITLE.

  getIconTitle

    Prints the icon title for the specified window.

  setWindowTitle TITLE

    Set the window title for the specified window to TITLE

  getWindowTitle

    Prints the window title for the specified window.

  setGeometry GEOMETRY

    Set the window geometry for the specified window to GEOMETRY.

  getGeometry

    Prints the window geometry for the specified window.

  setState MASK STATE

    Set the GNOME window state for the specified window to STATE. Only the bits selected by MASK are affected. STATE and MASK are expressions of the domain GNOME window state. See "GNOME window state", below, for STATE and MASK symbols.

  toggleState STATE

    Toggle the GNOME window state bits specified by the STATE expression for the specified window. See "GNOME window state", below, for STATE symbols.

  getState

    Prints the GNOME window state for the specified window.

  setHints HINTS

    Set the GNOME window hints for the specified window to HINTS. See "GNOME window hints", below, for HINTS symbols.

  getHints

    Prints the GNOME window hints for the specified window.

  setLayer LAYER

    Moves the specified window to another GNOME window layer. See "GNOME window layer", below, for LAYER symbols.

  getLayer

    Prints the GNOME window layer for the specified window.

  setWorkspace WORKSPACE

    Moves 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.

  getWorkspace

    Prints the workspace for the specified window.

  listWorkspaces

    Lists the names of all workspaces.

  setTrayOption TRAYOPTION

    Set the IceWM tray option hint for the specified window to TRAYOPTION. See "IceWM tray options", below, for TRAYOPTION symbols.

  getTrayOption

    Prints the IceWM tray option for the specified window.

  The following actions do not require a window or class command option:

  check

    Prints information about the current window manager, like name, version, class, locale, command, host name and pid.

  clients

    Lists all managed client windows, their titles and geometries.

  shown

    Lists all managed client windows for the current desktop, their titles and geometries.

  windows

    Lists all toplevel windows, their titles and geometries.

  logout

    Ask IceWM to execute the `LogoutCommand`.

  reboot

    Ask IceWM to execute the `RebootCommand`.

  shutdown

    Ask IceWM to execute the `ShutdownCommand`.

  cancel

    Ask IceWM to cancel the logout/reboot/shutdown.

  about

    Ask IceWM to show the about window.

  windowlist

    Ask IceWM to show the window list window.

  restart

    Ask IceWM to restart.

  suspend

    Ask IceWM to execute the `SuspendCommand`.

  guievents

    Monitor the ICEWM_GUI_EVENT property and report all changes.

  colormaps

    Monitor which colormap is installed.

  runonce program [arguments...]

    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 actions require one or two EXPRESSION arguments.

EXPRESSION ::= SYMBOL | EXPRESSION { `+` | `|` } SYMBOL

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

  GNOME window state

    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)
            All                 (1023)

    These symbols are used with the MASK and STATE arguments to the `setState` and `toggleState` actions.

  GNOME window hint

    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.

  GNOME window layer

    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.

  IceWM tray option

    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.

# USAGE

The purpose of icesh is to provide commands that can be used from a shell script (see sh(1)) to affect the state, geometry and hints associated with a window, or to list and parse information about existing windows.

It should be noted that icesh works on any window manager that is compliant with the GNOME WinWM/WMH specification. Some commands, like `setTrayOption` and the actions, however, are IceWM specific.

# EXAMPLES

The following command lists all workspace names:

        icesh listWorkspaces

Example output:

        workspace #0: `main'
        workspace #1: `web'
        workspace #2: `doc'
        workspace #3: `dev'
        workspace #4: `scr'
        workspace #5: `gfx'
        workspace #6: `misc'
        workspace #7: `'

# ENVIRONMENT

The following environment variables are examined by icesh:

DISPLAY

  The display to use if the -display option is unspecified.

# COMPLIANCE

While icesh is largely compliant with the GNOME WinWM/WMH specification, it does not support NetWM/EWMH.

# BUGS

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.

# HISTORY

icesh is historical and deprecated. The command only supports the GNOME WinWM/WMH specification and IceWM specific commands. Unlike wmctrl(1) and xdotool(1), support for NetWM/EWMH was never included. For most of the supported commands, wmctrl(1) and xdotool(1) are quite capable of performing the necessary functions and more.

# AUTHOR

Brian Bidulock mailto:bidulock@openss7.org.

See --copying for full copyright notice and copying permissions.

# LICENSE

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