summaryrefslogtreecommitdiff
path: root/src/client.hh
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-11-06 11:31:50 +0000
committerDana Jansens <danakj@orodu.net>2002-11-06 11:31:50 +0000
commit9dc76e1bace5ca5190e25a50a098739aaecc6ccf (patch)
tree7f06bb0c6b1b5338d6897af74140acb73651a31a /src/client.hh
parent8a1989301d0420e70864274d6d719e35d3fcca7a (diff)
support for the Mwm Hints
Diffstat (limited to 'src/client.hh')
-rw-r--r--src/client.hh41
1 files changed, 38 insertions, 3 deletions
diff --git a/src/client.hh b/src/client.hh
index b0e537fd..7e864744 100644
--- a/src/client.hh
+++ b/src/client.hh
@@ -29,8 +29,8 @@ public:
Type_Dialog,
Type_Normal };
- enum MwmFlags { Functions = 1 << 0,
- Decorations = 1 << 1 };
+ enum MwmFlags { MwmFunctions = 1 << 0,
+ MwmDecorations = 1 << 1 };
enum MwmFunctions { MwmFunc_All = 1 << 0,
MwmFunc_Resize = 1 << 1,
@@ -47,6 +47,23 @@ public:
MemDecor_Iconify = 1 << 5,
MemDecor_Maximize = 1 << 6 };
+ // the things the user can do to the client window
+ enum Function { Func_Resize = 1 << 0,
+ Func_Move = 1 << 1,
+ Func_Iconify = 1 << 2,
+ Func_Maximize = 1 << 3,
+ Func_Close = 1 << 4 };
+ typedef unsigned char FunctionFlags;
+
+ // the decorations the client window wants to be displayed on it
+ enum Decoration { Decor_Titlebar = 1 << 0,
+ Decor_Handle = 1 << 1,
+ Decor_Border = 1 << 2,
+ Decor_Iconify = 1 << 3,
+ Decor_Maximize = 1 << 4,
+ Decor_Close = 1 << 5 };
+ typedef unsigned char DecorationFlags;
+
// this structure only contains 3 elements... the Motif 2.0 structure
// contains 5... we only need the first 3... so that is all we will define
typedef struct MwmHints {
@@ -140,10 +157,26 @@ private:
//! The window should be on top of other windows of the same type
bool _floating;
- // XXX: motif decoration hints!
+ //! A bitmask of values in the OBClient::Decoration enum
+ /*!
+ The values in the variable are the decorations that the client wants to be
+ displayed around it.
+ */
+ DecorationFlags _decorations;
+
+ //! The functions requested by the Mwm Hints
+ int _mwm_functions;
+
+ //! A bitmask of values in the OBClient::Function enum
+ /*!
+ The values in the variable specify the ways in which the user is allowed to
+ modify this window.
+ */
+ FunctionFlags _functions;
void getDesktop();
void getType();
+ void getMwmHints();
void getArea();
void getState();
void getShaped();
@@ -177,6 +210,8 @@ public:
inline bool shaped() const { return _shaped; }
inline int gravity() const { return _gravity; }
inline bool positionRequested() const { return _positioned; }
+ inline DecorationFlags decorations() const { return _decorations; }
+ inline FunctionFlags funtions() const { return _functions; }
// states
inline bool modal() const { return _modal; }