X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FWindow.hh;h=2372b5b114f19919d1d98b47551a2e3585d9b488;hb=6e07a64d3306ac26c0cb6bd029356fe1fcee4756;hp=46bc2662d08f10ba751bac7071e4df11ec571ad7;hpb=b1a2c014eba9ad4b09b2a577f9cee24315034f3a;p=chaz%2Fopenbox diff --git a/src/Window.hh b/src/Window.hh index 46bc2662..2372b5b1 100644 --- a/src/Window.hh +++ b/src/Window.hh @@ -190,9 +190,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; @@ -256,7 +256,7 @@ private: Window createToplevelWindow(); Window createChildWindow(Window parent, Cursor = None); - void getWindowType(void); + bool getWindowType(void); void updateStrut(void); void getWMName(void); void getWMIconName(void); @@ -301,7 +301,7 @@ private: void doResize(int x_root, int y_root); void endResize(void); - void constrain(Corner anchor, int *pw = 0, int *ph = 0); + void constrain(Corner anchor, unsigned int *pw = 0, unsigned int *ph = 0); public: BlackboxWindow(Blackbox *b, Window w, BScreen *s); @@ -325,7 +325,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 +378,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); @@ -398,13 +403,15 @@ public: void buttonPressEvent(const XButtonEvent *be); void buttonReleaseEvent(const XButtonEvent *re); void motionNotifyEvent(const XMotionEvent *me); - void destroyNotifyEvent(const XDestroyWindowEvent */*unused*/); + void destroyNotifyEvent(const XDestroyWindowEvent* /*unused*/); void mapRequestEvent(const XMapRequestEvent *mre); - void unmapNotifyEvent(const XUnmapEvent */*unused*/); - void reparentNotifyEvent(const XReparentEvent */*unused*/); + void unmapNotifyEvent(const XUnmapEvent* /*unused*/); + void reparentNotifyEvent(const XReparentEvent* /*unused*/); void propertyNotifyEvent(const XPropertyEvent *pe); void exposeEvent(const XExposeEvent *ee); void configureRequestEvent(const XConfigureRequestEvent *cr); + void enterNotifyEvent(const XCrossingEvent *ce); + void leaveNotifyEvent(const XCrossingEvent* /*unused*/); #ifdef SHAPE void configureShape(void);