ICESH(1)

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

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

-r, -root
    Is equivalent to -window root.

-f, -focus
    Is equivalent to -window focus.

  GENERAL OPTIONS

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

-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. If WORKSPACE is "All" then the specified window becomes visible on all workspaces.

    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.

    The following actions do not require a window or class 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 set or examined by icesh:

DISPLAY
    Which display to use, in case the -display option is not specified.

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.