X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FWindow.hh;h=46bc2662d08f10ba751bac7071e4df11ec571ad7;hb=4e84a99f0aaf74af1f9b4693486300370d41ff97;hp=aab1a412778d049e1ea9d7296316d6c42ff939ce;hpb=f4c0547b7a90c9647a2c39c3d1a737142eab088e;p=chaz%2Fopenbox diff --git a/src/Window.hh b/src/Window.hh index aab1a412..46bc2662 100644 --- a/src/Window.hh +++ b/src/Window.hh @@ -176,12 +176,14 @@ private: min_width, min_height, // can not be resized smaller max_width, max_height, // can not be resized larger width_inc, height_inc, // increment step +#if 0 // not supported at the moment min_aspect_x, min_aspect_y, // minimum aspect ratio max_aspect_x, max_aspect_y, // maximum aspect ratio +#endif base_width, base_height, win_gravity; - unsigned long initial_state, normal_hint_flags, wm_hint_flags; + unsigned long initial_state, normal_hint_flags; } client; FunctionFlags functions; @@ -265,7 +267,6 @@ private: void getMWMHints(void); bool getBlackboxHints(void); void getTransientInfo(void); - bool isKDESystrayWindow(void); void setNetWMAttributes(void); void associateClientWindow(void); void decorate(void); @@ -282,17 +283,20 @@ private: void destroyIconifyButton(void); void createMaximizeButton(void); void destroyMaximizeButton(void); - void redrawLabel(void); - void redrawAllButtons(void); - void redrawCloseButton(bool pressed); - void redrawIconifyButton(bool pressed); - void redrawMaximizeButton(bool pressed); - void restoreGravity(void); - void setGravityOffsets(void); + void redrawWindowFrame(void) const; + void redrawLabel(void) const; + void redrawAllButtons(void) const; + void redrawCloseButton(bool pressed) const; + void redrawIconifyButton(bool pressed) const; + void redrawMaximizeButton(bool pressed) const; + void applyGravity(Rect &r); + void restoreGravity(Rect &r); void setAllowedActions(void); 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 doWindowSnapping(int &dx, int &dy); void endMove(void); void doResize(int x_root, int y_root); void endResize(void); @@ -318,8 +322,12 @@ public: inline bool isMaximizable(void) const { return functions & Func_Maximize; } inline bool isResizable(void) const { return functions & Func_Resize; } inline bool isClosable(void) const { return functions & Func_Close; } - inline bool isDesktop(void) const { return window_type == Type_Desktop; } + // is a 'normal' window? meaning, a standard client application + inline bool isNormal(void) const + { return window_type == Type_Dialog || window_type == Type_Normal; } + inline bool isDesktop(void) const { return window_type == Type_Desktop; } + inline bool hasTitlebar(void) const { return decorations & Decor_Titlebar; } inline const BlackboxWindowList &getTransients(void) const @@ -378,24 +386,25 @@ public: void shade(void); void stick(void); void reconfigure(void); - void updateFocusModel(void); + void grabButtons(void); + void ungrabButtons(void); void installColormap(bool install); void restore(bool remap); void configure(int dx, int dy, unsigned int dw, unsigned int dh); void setWorkspace(unsigned int n); - void changeBlackboxHints(BlackboxHints *net); + void changeBlackboxHints(const BlackboxHints *net); void restoreAttributes(void); - void buttonPressEvent(XButtonEvent *be); - void buttonReleaseEvent(XButtonEvent *re); - void motionNotifyEvent(XMotionEvent *me); - void destroyNotifyEvent(XDestroyWindowEvent */*unused*/); - void mapRequestEvent(XMapRequestEvent *mre); - void unmapNotifyEvent(XUnmapEvent */*unused*/); - void reparentNotifyEvent(XReparentEvent */*unused*/); - void propertyNotifyEvent(Atom atom); - void exposeEvent(XExposeEvent *ee); - void configureRequestEvent(XConfigureRequestEvent *cr); + void buttonPressEvent(const XButtonEvent *be); + void buttonReleaseEvent(const XButtonEvent *re); + void motionNotifyEvent(const XMotionEvent *me); + void destroyNotifyEvent(const XDestroyWindowEvent */*unused*/); + void mapRequestEvent(const XMapRequestEvent *mre); + 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); #ifdef SHAPE void configureShape(void);