all repos — openbox @ 9ccebf111819c77108c179b906d824cb2a2a790d

openbox fork - make it a bit more like ryudo

redecorating fixups. sync with bb cvs.
Dana Jansens danakj@orodu.net
commit

9ccebf111819c77108c179b906d824cb2a2a790d

parent

c5c5a80c7e9146e0c53f866c1ddbc2c352f4dcea

2 files changed, 27 insertions(+), 11 deletions(-)

jump to
M src/Window.ccsrc/Window.cc

@@ -2698,7 +2698,7 @@ }

#endif // SHAPE -bool BlackboxWindow::validateClient(void) { +bool BlackboxWindow::validateClient(void) const { XSync(blackbox->getXDisplay(), False); XEvent e;

@@ -2802,21 +2802,37 @@ break;

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; }
M src/Window.hhsrc/Window.hh

@@ -98,7 +98,7 @@ Func_Move = (1l << 1),

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 @@ Decor_Border = (1l << 2),

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 @@ inline const BlackboxWindowList &getTransients(void) const

{ 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 @@ { return frame.title_h; }

inline void setWindowNumber(int n) { window_number = n; } - bool validateClient(void); + bool validateClient(void) const; bool setInputFocus(void); void setFocusFlag(bool focus);