use proper prefixing and capitalization for the new mwm stuff.
if (PROP_GETA32(self->window, motif_wm_hints, motif_wm_hints,
&hints, &num)) {
- if (num >= MWM_ELEMENTS) {
+ if (num >= OB_MWM_ELEMENTS) {
self->mwmhints.flags = hints[0];
self->mwmhints.functions = hints[1];
self->mwmhints.decorations = hints[2];
else if (val[i] == prop_atoms.kde_net_wm_window_type_override) {
/* prevent this window from getting any decor or
functionality */
- self->mwmhints.flags &= (MwmFlag_Functions |
- MwmFlag_Decorations);
+ self->mwmhints.flags &= (OB_MWM_FLAG_FUNCTIONS |
+ OB_MWM_FLAG_DECORATIONS);
self->mwmhints.decorations = 0;
self->mwmhints.functions = 0;
}
/* Mwm Hints are applied subtractively to what has already been chosen for
decor and functionality */
- if (self->mwmhints.flags & MwmFlag_Decorations) {
- if (! (self->mwmhints.decorations & MwmDecor_All)) {
- if (! (self->mwmhints.decorations & MwmDecor_Border))
+ if (self->mwmhints.flags & OB_MWM_FLAG_DECORATIONS) {
+ if (! (self->mwmhints.decorations & OB_MWM_DECOR_ALL)) {
+ if (! (self->mwmhints.decorations & OB_MWM_DECOR_BORDER))
self->decorations &= ~Decor_Border;
- if (! (self->mwmhints.decorations & MwmDecor_Handle))
+ if (! (self->mwmhints.decorations & OB_MWM_DECOR_HANDLE))
self->decorations &= ~Decor_Handle;
- if (! (self->mwmhints.decorations & MwmDecor_Title))
+ if (! (self->mwmhints.decorations & OB_MWM_DECOR_TITLE))
self->decorations &= ~Decor_Titlebar;
- if (! (self->mwmhints.decorations & MwmDecor_Iconify))
+ if (! (self->mwmhints.decorations & OB_MWM_DECOR_ICONIFY))
self->decorations &= ~Decor_Iconify;
- if (! (self->mwmhints.decorations & MwmDecor_Maximize))
+ if (! (self->mwmhints.decorations & OB_MWM_DECOR_MAXIMIZE))
self->decorations &= ~Decor_Maximize;
}
}
- if (self->mwmhints.flags & MwmFlag_Functions) {
- if (! (self->mwmhints.functions & MwmFunc_All)) {
- if (! (self->mwmhints.functions & MwmFunc_Resize))
+ if (self->mwmhints.flags & OB_MWM_FLAG_FUNCTIONS) {
+ if (! (self->mwmhints.functions & OB_MWM_FUNC_ALL)) {
+ if (! (self->mwmhints.functions & OB_MWM_FUNC_RESIZE))
self->functions &= ~Func_Resize;
- if (! (self->mwmhints.functions & MwmFunc_Move))
+ if (! (self->mwmhints.functions & OB_MWM_FUNC_MOVE))
self->functions &= ~Func_Move;
- if (! (self->mwmhints.functions & MwmFunc_Iconify))
+ if (! (self->mwmhints.functions & OB_MWM_FUNC_ICONIFY))
self->functions &= ~Func_Iconify;
- if (! (self->mwmhints.functions & MwmFunc_Maximize))
+ if (! (self->mwmhints.functions & OB_MWM_FUNC_MAXIMIZE))
self->functions &= ~Func_Maximize;
/* dont let mwm hints kill the close button
if (! (self->mwmhints.functions & MwmFunc_Close))
#define __client_h
#include "misc.h"
+#include "mwm.h"
#include "geom.h"
#include "stacking.h"
#include "render/color.h"
RrPixel32 *data;
} Icon;
-/*! The MWM Hints as retrieved from the window property
- This structure only contains 3 elements, even though the Motif 2.0
- structure contains 5. We only use the first 3, so that is all gets
- defined.
-*/
-typedef struct MwmHints {
- /*! A bitmask of Client::MwmFlags values */
- unsigned long flags;
- /*! A bitmask of Client::MwmFunctions values */
- unsigned long functions;
- /*! A bitmask of Client::MwmDecorations values */
- unsigned long decorations;
-} MwmHints;
-/*! The number of elements in the Client::MwmHints struct */
-#define MWM_ELEMENTS 3
-
-/*! Possible flags for MWM Hints (defined by Motif 2.0) */
-typedef enum {
- MwmFlag_Functions = 1 << 0, /*!< The MMW Hints define funcs */
- MwmFlag_Decorations = 1 << 1 /*!< The MWM Hints define decor */
-} MwmFlags;
-
-/*! Possible functions for MWM Hints (defined by Motif 2.0) */
-typedef enum {
- MwmFunc_All = 1 << 0, /*!< All functions */
- MwmFunc_Resize = 1 << 1, /*!< Allow resizing */
- MwmFunc_Move = 1 << 2, /*!< Allow moving */
- MwmFunc_Iconify = 1 << 3, /*!< Allow to be iconfied */
- MwmFunc_Maximize = 1 << 4 /*!< Allow to be maximized */
- /*MwmFunc_Close = 1 << 5 /!< Allow to be closed */
-} MwmFunctions;
-
-/*! Possible decorations for MWM Hints (defined by Motif 2.0) */
-typedef enum {
- MwmDecor_All = 1 << 0, /*!< All decorations */
- MwmDecor_Border = 1 << 1, /*!< Show a border */
- MwmDecor_Handle = 1 << 2, /*!< Show a handle (bottom) */
- MwmDecor_Title = 1 << 3, /*!< Show a titlebar */
- /*MwmDecor_Menu = 1 << 4, /!< Show a menu */
- MwmDecor_Iconify = 1 << 5, /*!< Show an iconify button */
- MwmDecor_Maximize = 1 << 6 /*!< Show a maximize button */
-} MemDecorations;
-
/*! Possible window types */
typedef enum {
Type_Desktop, /*!< A desktop (bottom-most window) */
Size base_size;
/*! Window decoration and functionality hints */
- MwmHints mwmhints;
+ ObMwmHints mwmhints;
/*! Where to place the decorated window in relation to the undecorated
window */
--- /dev/null
+#ifndef __ob__mwm_h
+#define __ob__mwm_h
+
+#include <glib.h>
+
+typedef struct _ObMwmHints ObMwmHints;
+
+/*! The MWM Hints as retrieved from the window property
+ This structure only contains 3 elements, even though the Motif 2.0
+ structure contains 5. We only use the first 3, so that is all gets
+ defined.
+*/
+struct _ObMwmHints
+{
+ /*! A bitmask of ObMwmFlags values */
+ guint flags;
+ /*! A bitmask of ObMwmFunctions values */
+ guint functions;
+ /*! A bitmask of ObMwmDecorations values */
+ guint decorations;
+};
+
+/*! The number of elements in the ObMwmHints struct */
+#define OB_MWM_ELEMENTS 3
+
+/*! Possible flags for MWM Hints (defined by Motif 2.0) */
+typedef enum
+{
+ OB_MWM_FLAG_FUNCTIONS = 1 << 0, /*!< The MMW Hints define funcs */
+ OB_MWM_FLAG_DECORATIONS = 1 << 1 /*!< The MWM Hints define decor */
+} ObMwmFlags;
+
+/*! Possible functions for MWM Hints (defined by Motif 2.0) */
+typedef enum
+{
+ OB_MWM_FUNC_ALL = 1 << 0, /*!< All functions */
+ OB_MWM_FUNC_RESIZE = 1 << 1, /*!< Allow resizing */
+ OB_MWM_FUNC_MOVE = 1 << 2, /*!< Allow moving */
+ OB_MWM_FUNC_ICONIFY = 1 << 3, /*!< Allow to be iconfied */
+ OB_MWM_FUNC_MAXIMIZE = 1 << 4 /*!< Allow to be maximized */
+#if 0
+ OM_MWM_FUNC_CLOSE = 1 << 5 /*!< Allow to be closed */
+#endif
+} ObMwmFunctions;
+
+/*! Possible decorations for MWM Hints (defined by Motif 2.0) */
+typedef enum
+{
+ OB_MWM_DECOR_ALL = 1 << 0, /*!< All decorations */
+ OB_MWM_DECOR_BORDER = 1 << 1, /*!< Show a border */
+ OB_MWM_DECOR_HANDLE = 1 << 2, /*!< Show a handle (bottom) */
+ OB_MWM_DECOR_TITLE = 1 << 3, /*!< Show a titlebar */
+#if 0
+ OB_MWM_DECOR_MENU = 1 << 4, /*!< Show a menu */
+#endif
+ OB_MWM_DECOR_ICONIFY = 1 << 5, /*!< Show an iconify button */
+ OB_MWM_DECOR_MAXIMIZE = 1 << 6 /*!< Show a maximize button */
+} ObMwmDecorations;
+
+#endif