From 9ccebf111819c77108c179b906d824cb2a2a790d Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Thu, 30 May 2002 08:55:30 +0000 Subject: [PATCH] redecorating fixups. sync with bb cvs. --- src/Window.cc | 28 ++++++++++++++++++++++------ src/Window.hh | 10 +++++----- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/Window.cc b/src/Window.cc index 47809ea9..840954ec 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -2698,7 +2698,7 @@ void BlackboxWindow::shapeEvent(XShapeEvent *) { #endif // SHAPE -bool BlackboxWindow::validateClient(void) { +bool BlackboxWindow::validateClient(void) const { XSync(blackbox->getXDisplay(), False); XEvent e; @@ -2802,21 +2802,37 @@ void BlackboxWindow::changeBlackboxHints(BlackboxHints *net) { default: case DecorNormal: - decorations |= Decor_Titlebar | Decor_Handle | Decor_Border | - Decor_Iconify | Decor_Maximize; + decorations |= Decor_Titlebar | Decor_Border | Decor_Iconify; + + decorations = ((functions & Func_Resize) && !isTransient() ? + decorations | Decor_Handle : + decorations &= ~Decor_Handle); + decorations = (functions & Func_Maximize ? + decorations | Decor_Maximize : + decorations &= ~Decor_Maximize); break; case DecorTiny: decorations |= Decor_Titlebar | Decor_Iconify; - decorations &= ~(Decor_Border | Decor_Handle | Decor_Maximize); + decorations &= ~(Decor_Border | Decor_Handle); + + decorations = (functions & Func_Maximize ? + decorations | Decor_Maximize : + decorations &= ~Decor_Maximize); break; case DecorTool: decorations |= Decor_Titlebar; - decorations &= ~(Decor_Iconify | Decor_Border | Decor_Handle); - functions |= Func_Move; + decorations &= ~(Decor_Iconify | Decor_Border); + + decorations = ((functions & Func_Resize) && !isTransient() ? + decorations | Decor_Handle : + decorations &= ~Decor_Handle); + decorations = (functions & Func_Maximize ? + decorations | Decor_Maximize : + decorations &= ~Decor_Maximize); break; } diff --git a/src/Window.hh b/src/Window.hh index 6dda6558..038a58af 100644 --- a/src/Window.hh +++ b/src/Window.hh @@ -98,7 +98,7 @@ public: Func_Iconify = (1l << 2), Func_Maximize = (1l << 3), Func_Close = (1l << 4) }; - typedef unsigned int FunctionFlags; + typedef unsigned char FunctionFlags; enum Decoration { Decor_Titlebar = (1l << 0), Decor_Handle = (1l << 1), @@ -106,7 +106,7 @@ public: Decor_Iconify = (1l << 3), Decor_Maximize = (1l << 4), Decor_Close = (1l << 5) }; - typedef unsigned int DecorationFlags; + typedef unsigned char DecorationFlags; private: Blackbox *blackbox; @@ -293,13 +293,13 @@ public: { return client.transientList; } BlackboxWindow *getTransientFor(void) const; - inline BScreen *getScreen(void) { return screen; } + inline BScreen *getScreen(void) const { return screen; } inline Window getFrameWindow(void) const { return frame.window; } inline Window getClientWindow(void) const { return client.window; } inline Window getGroupWindow(void) const { return client.window_group; } - inline Windowmenu * getWindowmenu(void) { return windowmenu; } + inline Windowmenu * getWindowmenu(void) const { return windowmenu; } inline const char *getTitle(void) const { return client.title.c_str(); } @@ -318,7 +318,7 @@ public: inline void setWindowNumber(int n) { window_number = n; } - bool validateClient(void); + bool validateClient(void) const; bool setInputFocus(void); void setFocusFlag(bool focus); -- 2.45.2