
#ifndef SPECTRE_PLATFORM_UNIX_WM_HINTS_H
#define SPECTRE_PLATFORM_UNIX_WM_HINTS_H

#define MWM_HINTS_FUNCTIONS   (1 << 0)
#define MWM_HINTS_DECORATIONS (1 << 1)

#define MWM_DECOR_BORDER   (1 << 1)
#define MWM_DECOR_RESIZEH  (1 << 2)
#define MWM_DECOR_TITLE    (1 << 3)
#define MWM_DECOR_MENU     (1 << 4)
#define MWM_DECOR_MINIMIZE (1 << 5)
#define MWM_DECOR_MAXIMIZE (1 << 6)

#define MWM_FUNC_RESIZE   (1 << 1)
#define MWM_FUNC_MOVE     (1 << 2)
#define MWM_FUNC_MINIMIZE (1 << 3)
#define MWM_FUNC_MAXIMIZE (1 << 4)
#define MWM_FUNC_CLOSE    (1 << 5)

// Number of elements in WMHints struct.
#define WMHINTS_NUM_ELEMENTS (sizeof(struct WMHints) / sizeof(long))

struct WMHints{
	unsigned long flags;
	unsigned long functions;
	unsigned long decorations;
	long          inputMode;
	unsigned long state;
};

#endif /* SPECTRE_PLATFORM_UNIX_WM_HINTS_H */
