Re: Proposal: Add a window state for "undecorated" windows



In order to contribute something positive: the Motif hints are described
in the Motif package, which these days is freely available, under the
LGPL I believe.
It contains a header file <Xm/MwmUtil.h> which contains among other
things

/*
 * Contents of the _MWM_HINTS property.
 */

typedef struct
{
    /* These correspond to XmRInt resources. (VendorSE.c) */
    int          flags;
    int          functions;
    int          decorations;
    int          input_mode;
    int          status;
} MotifWmHints;

typedef MotifWmHints    MwmHints;

/* bit definitions for MwmHints.flags */
#define MWM_HINTS_FUNCTIONS     (1L << 0)
#define MWM_HINTS_DECORATIONS   (1L << 1)
#define MWM_HINTS_INPUT_MODE    (1L << 2)
#define MWM_HINTS_STATUS        (1L << 3)

/* bit definitions for MwmHints.functions */
#define MWM_FUNC_ALL            (1L << 0)
#define MWM_FUNC_RESIZE         (1L << 1)
#define MWM_FUNC_MOVE           (1L << 2)
#define MWM_FUNC_MINIMIZE       (1L << 3)
#define MWM_FUNC_MAXIMIZE       (1L << 4)
#define MWM_FUNC_CLOSE          (1L << 5)

/* bit definitions for MwmHints.decorations */
#define MWM_DECOR_ALL           (1L << 0)
#define MWM_DECOR_BORDER        (1L << 1)
#define MWM_DECOR_RESIZEH       (1L << 2)
#define MWM_DECOR_TITLE         (1L << 3)
#define MWM_DECOR_MENU          (1L << 4)
#define MWM_DECOR_MINIMIZE      (1L << 5)
#define MWM_DECOR_MAXIMIZE      (1L << 6)


/* values for MwmHints.input_mode */
#define MWM_INPUT_MODELESS                      0
#define MWM_INPUT_PRIMARY_APPLICATION_MODAL     1
#define MWM_INPUT_SYSTEM_MODAL                  2
#define MWM_INPUT_FULL_APPLICATION_MODAL        3

/* bit definitions for MwmHints.status */
#define MWM_TEAROFF_WINDOW      (1L << 0)

and a manual page VendorShell which describes the bits (as resource
values):


       XmNmwmDecorations
                 Specifies the decoration flags (specific decorations to add or remove
                 from the window manager frame) for the _MOTIF_WM_HINTS property.
                 If any decoration flags are specified by the _MOTIF_WM_HINTS
                 property, only decorations indicated by both that property and the MWM
                 clientDecoration and transientDecoration resources are displayed.
                 If no decoration flags are specified by the _MOTIF_WM_HINTS property,
                 decorations indicated by the MWM clientDecoration and
                 transientDecoration resources are displayed.
                 The default for the XmNmwmDecorations resource
                 is not to specify any decoration flags for the _MOTIF_WM_HINTS property.


                 The value of this resource is the bitwise inclusive OR of one or more
                 flag bits.
                 The possible flag bit constants, defined in the include
                 file Xm/MwmUtil.h, are

              MWM_DECOR_ALL
                        All decorations except those specified by
                        other flag bits that are set

              MWM_DECOR_BORDER
                        Client window border

              MWM_DECOR_RESIZEH
                        Resize frame handles

              MWM_DECOR_TITLE
                        Title bar

              MWM_DECOR_MENU
                        Window menu button

              MWM_DECOR_MINIMIZE
                        Minimize window button

              MWM_DECOR_MAXIMIZE
                        Maximize window button

       XmNmwmFunctions
                 Specifies the function flags (specific window manager functions to
                 apply or not apply to the client window) for the _MOTIF_WM_HINTS
                 property.
                 If any function flags are specified by the _MOTIF_WM_HINTS
                 property, only functions indicated by both that property and the MWM
                 clientFunctions and transientFunctions resources are
                 applied.
                 If no function flags are specified by the _MOTIF_WM_HINTS
                 property, functions indicated by the MWM clientFunctions and
                 transientFunctions resources are applied.
                 The default for the XmNmwmFunctions resource is not to specify any
                 function flags for the _MOTIF_WM_HINTS property.


                 The value of this resource is the bitwise inclusive OR of one or more
                 flag bits.
                 The possible flag bit constants, defined in the include
                 file Xm/MwmUtil.h, are

              MWM_FUNC_ALL
                        All functions except those specified by
                        other flag bits that are set

              MWM_FUNC_RESIZE
                        f.resize

              MWM_FUNC_MOVE
                        f.move

              MWM_FUNC_MINIMIZE
                        f.minimize

              MWM_FUNC_MAXIMIZE
                        f.maximize

              MWM_FUNC_CLOSE
                        f.kill

       XmNmwmInputMode
                 Specifies the input mode flag (application modal or system modal input
                 constraints) for the _MOTIF_WM_HINTS property.
                 If no input mode flag is specified by the _MOTIF_WM_HINTS
                 property, no input constraints are applied, and input goes to any
                 window.
                 The default for the XmNmwmInputMode resource is not to specify any
                 input mode flag for the _MOTIF_WM_HINTS property.


                 An application that sets input constraints on a dialog usually uses the
                 BulletinBoard's XmNdialogStyle resource rather than the parent
                 DialogShell's XmNmwmInputMode resource.


                 The possible values for this resource, defined in the
                 include file Xm/MwmUtil.h, are

              MWM_INPUT_MODELESS
                        Input goes to any window.

              MWM_INPUT_PRIMARY_APPLICATION_MODAL
                        Input does not
                        go to ancestors of this window.

              MWM_INPUT_SYSTEM_MODAL
                        Input goes only to this window.

              MWM_INPUT_FULL_APPLICATION_MODAL
                        Input does not go to other
                        windows in this application.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- The Doctor: No, 'eureka' is Greek for
\X/ rhialto/at/xs4all.nl    -- 'this bath is too hot.'

Attachment: pgpxycUdKV3eY.pgp
Description: PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]