=pod

=head1 NAME

 icewmhint - set IceWM hints by window class and instance

=head1 SYNOPSIS

B<icewmhint> [I<CLASS>B<.>I<INSTANCE>] I<OPTION> I<VALUE>

=head1 DESCRIPTION

B<icewmhint> is a simple utility for passing IceWM hints to L<icewm(1)>
by window class and instance.  Unlike tools that use WMH or EWMH, such
as L<icesh(1)>, L<wmctrl(1)> and L<xdotool(1)>, B<icewmhint> uses a
special property, C<_ICEWM_WINOPHINT>, on the root window to pass
special hints to L<icewm(1)>.

=head1 OPTIONS

B<icesh> recognizes the following options:

=head2 COMMAND OPTIONS

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

=over

=item B<-h>, B<--help>

Print a brief usage statement to F<stdout> and exit.

=item B<-V>, B<--version>

Print the program version to F<stdout> and exit.

=item B<-C>, B<--copying>

Print copying permissions to F<stdout> for the program and exit.

=back

=head2 GENERAL OPTIONS

B<icewmhint> has not general options: all information is passed using
non-option arguments.

=head1 ARGUMENTS

The following arguments are required:

=over

=item [I<CLASS>B<.>I<INSTANCE>]

Specifies the ICCCM 2.0 B<WM_CLASS> property in terms of resource name
and resource class separated by a period (C<.>).  For example:
C<XTerm.xterm>.  This argument must be specified for all commands
affecting client windows.

=item I<OPTION> I<VALUE>

Specifies the I<OPTION> to affect and the I<VALUE> that goes with the
option.  Options and their arguments are as follows:

=back

=head2 GENERAL OPTION ARGUMENTS

General option arguments are normally associated with GNOME WinWM/WMH
hints (except for the tray option argument).

=over

=item B<icon> I<NAME>

Specifies the icon name for windows of I<CLASS>B<.>I<INSTANCE>.
I<NAME> should be the name of the icon.  L<icewm(1)> will use is
usual method to find the icon.  The default is the name provided by
window manager hints.

=item B<workspace> I<WORKSPACE>

Specifies the workspace on which a window of I<CLASS>B<.>I<INSTANCE>
will be initially placed.  The default is to place the window on the
current workspace.  I<WORKSPACE> should be a numeric workspace
number (counting from 0).

=item B<geometry> I<GEOMETRY>

Specifies the initial geometry for windows of the given
I<CLASS>B<.>I<INSTANCE>.  I<GEOMETRY> must be a geometry that can be
parsed by L<XParseGeometry(3)>.  The default is the geometry provided by
window manager hints.

=item B<layer> {B<Desktop>|B<Below>|B<Normal>|B<OnTop>|B<Dock>|B<AboveDock>|B<Menu>|I<NUMBER>}

The layer is a similar concept to the layer specified by GNOME/WMH and
implied by NetWM/EWMH.  It is in this case however specific to
L<icewm(1)>.

The command option specifies the layer to be associated with an
I<CLASS>B<.>I<INSTANCE>.  The default is the C<Normal> layer.  I<VALUE>
is either a numeric layer I<NUMBER> or a symbolic layer name.  Symbolic
layer names are one of the following:

    Desktop    (0)  desktop window layer.
    Below      (2)  below normal windows.
    Normal     (4)  default window layer.
    OnTop      (6)  above normal windows.
    Dock       (8)  docks (panels and edge displays).
    AboveDock (10)  above docks.
    Menu      (12)  above everything else.

=item B<tray> {B<Ignore>|B<Minimized>|B<Exclusive>|I<NUMBER>}

Specifies the tray handling to be applied to windows with
I<CLASS>B<.>I<INSTANCE>.  This option is specific to L<icewm(1)> and
sets the C<_ICEWM_TRAY> property associated with the window.
The default is C<Ignore>.  I<VALUE> can be a numerical option I<NUMBER>
or a symbolic name as follows:

    Ignore     (0)  only in task list.
    Minimized  (1)  icon in tray, task list unminimized.
    Exclusive  (2)  only in tray, not in task list.

=back

=head2 FUNCTION OPTION ARGUMENTS

Specifies which functions are disabled/enabled (0/1) for windows with
I<CLASS>B<.>I<INSTANCE>.  All function options have a default value of
enabled (1) unless overridden by the application.  The Motif-like
functions are as follows:

    fClose     can be closed:        (default: 1).
    fHide      can be hidden:        (default: 1).
    fMaximize  can be maximized:     (default: 1).
    fMinimize  can be minimized:     (default: 1).
    fMove      can be moved:         (default: 1).
    fResize    can be resized:       (default: 1).
    fRollup    can be shaded:        (default: 1).

=head2 DECOR OPTION ARGUMENTS

Specifies which decorations are disabled/enabled (0/1) for windows with
I<CLASS>B<.>I<INSTANCE>.  All decor options have a default value of
enabled (1) unless overridden by the application. The Motif-like
decorations are as follows:

    dBorder    has border:           (default: 1).
    dClose     has close button:     (default: 1).
    dDepth     has depth button:     (default: 1).
    dHide      has hide button:      (default: 1).
    dMaximize  has maximize button:  (default: 1).
    dMinimize  has minimize button:  (default: 1).
    dResize    has resize grips:     (default: 1).
    dRollup    has shade button:     (default: 1).
    dSysMenu   has window menu:      (default: 1).
    dTitleBar  has title bar:        (default: 1).

=head2 FEATURE OPTION ARGUMENTS

Specifies which advanced features to be enabled/disabled (1/0) for
windows with I<CLASS>B<.>I<INSTANCE>.  All advanced features have a
default value of disabled (0) unless overridden by the application.  The
advanced features are as follows:

    allWorkspaces             on all workspaces.
    appTakesFocus             let application take focus.
    doNotCover                limits workspace if sticky.
    doNotFocus                do not focus.
    forcedClose               no close dialog.
    fullKeys                  provided more keys.
    ignoreNoFocusHint         focus even no-input.
    ignorePositionHint        place automatically.
    ignoreQuickSwitch         not on quick switch.
    ignoreTaskBar             not on task bar.
    ignoreUrgentHint          ignore urgent hints.
    ignoreWinList             not on window list.
    noFocusOnAppRaise         no focus on raise.
    noFocusOnMap              do not focus when mapped.
    noIgnoreTaskBar           on task bar.
    nonICCCMconfigureRequest  more configure requests.
    startFullscreen           start full screen.
    startMaximized            start maximized.
    startMaximizedHorz        start maximized horizontal.
    startMaximizedVert        start maximized vertical.
    startMinimized            start minimized.

=head1 BUGS

B<icewmhint> had no known bugs at the time of release.  Please report bugs
for current versions to the source code repository at
L<https://github.com/bbidulock/icewm/issues>.

=head1 AUTHOR

Brian Bidulock L<mailto:bidulock@openss7.org>.

See B<--copying> for full copyright notice and copying permissions.

=head1 LICENSE

B<IceWM> is licensed under the GNU Library General Public License.
See the F<COPYING> file in the distribution or use the B<--copying> flag
to display copying permissions.

=cut

# vim: set sw=4 tw=72 nocin spell spelllang=en_ca:
