X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FWindow.hh;h=74a562a014da317b517bde260b0ab7779a88505b;hb=f763814b338f9418e705309ddc87f68140d7888a;hp=105aef166d6cbcad09cba823b381066414b9a1e6;hpb=72c56d793b21cb0dae7a6a3d0baf580dacc4a34f;p=chaz%2Fopenbox diff --git a/src/Window.hh b/src/Window.hh index 105aef16..74a562a0 100644 --- a/src/Window.hh +++ b/src/Window.hh @@ -134,6 +134,7 @@ private: unsigned int window_number; unsigned long current_state; + unsigned int mod_mask; // the mod mask used to grab buttons enum FocusMode { F_NoInput = 0, F_Passive, F_LocallyActive, F_GloballyActive }; @@ -190,9 +191,9 @@ private: /* * what decorations do we have? * this is based on the type of the client window as well as user input - * the menu is not really decor, but it goes hand in hand with the decor */ DecorationFlags decorations; + DecorationFlags mwm_decorations; Corner resize_dir; WindowType window_type; @@ -254,9 +255,10 @@ private: bool getState(void); Window createToplevelWindow(); - Window createChildWindow(Window parent, Cursor = None); + Window createChildWindow(Window parent, unsigned long event_mask, + Cursor = None); - void getWindowType(void); + bool getWindowType(void); void updateStrut(void); void getWMName(void); void getWMIconName(void); @@ -295,7 +297,7 @@ private: void setState(unsigned long new_state); void upsize(void); void doMove(int x_root, int y_root); - bool doWorkspaceWarping(int x_root, int y_root, int dx, int dy); + void doWorkspaceWarping(int x_root, int y_root, int &dx); void doWindowSnapping(int &dx, int &dy); void endMove(void); void doResize(int x_root, int y_root); @@ -325,7 +327,10 @@ public: // is a 'normal' window? meaning, a standard client application inline bool isNormal(void) const - { return window_type == Type_Dialog || window_type == Type_Normal; } + { return window_type == Type_Dialog || window_type == Type_Normal || + window_type == Type_Toolbar || window_type == Type_Utility; } + inline bool isTopmost(void) const + { return window_type == Type_Toolbar || window_type == Type_Utility; } inline bool isDesktop(void) const { return window_type == Type_Desktop; } inline bool hasTitlebar(void) const { return decorations & Decor_Titlebar; } @@ -375,6 +380,8 @@ public: void beginMove(int x_root, int y_root); void beginResize(int x_root, int y_root, Corner dir); + void enableDecor(bool enable); + void setupDecor(); void setFocusFlag(bool focus); void iconify(void); void deiconify(bool reassoc = True, bool raise = True);