2 * Various MWM related functions.
4 * This is ALL the code involving anything MWM related. for both WM and
8 #include "ecore_x_private.h"
10 #include "Ecore_X_Atoms.h"
12 #define ECORE_X_MWM_HINTS_FUNCTIONS (1 << 0)
13 #define ECORE_X_MWM_HINTS_DECORATIONS (1 << 1)
14 #define ECORE_X_MWM_HINTS_INPUT_MODE (1 << 2)
15 #define ECORE_X_MWM_HINTS_STATUS (1 << 3)
17 typedef struct _mwmhints
28 ecore_x_mwm_hints_get(Ecore_X_Window win,
29 Ecore_X_MWM_Hint_Func * fhint,
30 Ecore_X_MWM_Hint_Decor * dhint,
31 Ecore_X_MWM_Hint_Input * ihint)
33 unsigned char *p = NULL;
34 MWMHints *mwmhints = NULL;
39 if (!ecore_x_window_prop_property_get(win,
40 ECORE_X_ATOM_MOTIF_WM_HINTS,
41 ECORE_X_ATOM_MOTIF_WM_HINTS,
44 mwmhints = (MWMHints *) p;
51 if (mwmhints->flags & ECORE_X_MWM_HINTS_DECORATIONS)
52 *dhint = mwmhints->decorations;
54 *dhint = ECORE_X_MWM_HINT_DECOR_ALL;
58 if (mwmhints->flags & ECORE_X_MWM_HINTS_FUNCTIONS)
59 *fhint = mwmhints->functions;
61 *fhint = ECORE_X_MWM_HINT_FUNC_ALL;
65 if (mwmhints->flags & ECORE_X_MWM_HINTS_INPUT_MODE)
66 *ihint = mwmhints->inputmode;
68 *ihint = ECORE_X_MWM_HINT_INPUT_MODELESS;
78 ecore_x_mwm_borderless_set(Ecore_X_Window win, int borderless)
80 unsigned int data[5] = {0, 0, 0, 0, 0};
82 data[0] = 2; /* just set the decorations hint! */
83 data[2] = !borderless;
85 ecore_x_window_prop_property_set(win,
86 ECORE_X_ATOM_MOTIF_WM_HINTS,
87 ECORE_X_ATOM_MOTIF_WM_HINTS,