User Commands

# NAME

     icesh - control properties of windows

# SYNOPSIS

icesh [OPTIONS] ACTIONS
icesh {-h|--help}
icesh {-V|--version}
icesh {-C|--copying}

# DESCRIPTION

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

# OPTIONS

icesh recognizes the following options:

## COMMAND OPTIONS

Command options are mutually exclusive. Only one command option can be specified per invocation. If no command option is specified, action argument parsing and processing is performed.

-display DISPLAY

  Specifies the X11 DISPLAY to use. When unspecified, defaults to the $DISPLAY environment variable.

-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. When no WINDOW_ID or WM_CLASS is specified, a selection crossbar is invoked to select the desired window.

-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. When no WINDOW_ID or WM_CLASS is specified, a selection crossbar is invoked to select the desired window.

## GENERAL OPTIONS

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

  setWindowTitle TITLE

    Set the window title for the specified window to TITLE

  setGeometry GEOMETRY

    Set the window geometry for the specified window to GEOMETRY.

  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.

  setHints HINTS

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

  setLayer LAYER

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

  setWorkspace WORKSPACE

    Moves the specified window to another workspace. Select the root window to change the current workspace.

  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.

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. The `setTrayOption` action; however, is IceWM specific.

# EXAMPLES

The following command will list all the workspaces associated with the root window after a window (any window) is selected:

        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 set or examined by icesh:

DISPLAY

  When the -display option is not specified, the `DISPLAY` environment variable is consulted to determine the display.

# 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 originally (and still) only supported the GNOME WinWM/WMH specification. Unlike wmctrl(1) and xdotool(1), NetWM/EWMH support was never included. Except for the `setTrayOption` command, 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