diff options
Diffstat (limited to 'src/client.cc')
| -rw-r--r-- | src/client.cc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/client.cc b/src/client.cc index 3939b0c6..e9136df4 100644 --- a/src/client.cc +++ b/src/client.cc @@ -288,6 +288,23 @@ void Client::setupDecorAndFunctions() } } + // finally, user specified disabled decorations are applied to subtract + // decorations + if (_disabled_decorations & Decor_Titlebar) + _decorations &= ~Decor_Titlebar; + if (_disabled_decorations & Decor_Handle) + _decorations &= ~Decor_Handle; + if (_disabled_decorations & Decor_Border) + _decorations &= ~Decor_Border; + if (_disabled_decorations & Decor_Iconify) + _decorations &= ~Decor_Iconify; + if (_disabled_decorations & Decor_Maximize) + _decorations &= ~Decor_Maximize; + if (_disabled_decorations & Decor_AllDesktops) + _decorations &= ~Decor_AllDesktops; + if (_disabled_decorations & Decor_Close) + _decorations &= ~Decor_Close; + changeAllowedActions(); } @@ -1322,6 +1339,15 @@ void Client::fullscreen(bool fs) } +void Client::disableDecorations(DecorationFlags flags) +{ + _disabled_decorations = flags; + setupDecorAndFunctions(); + if (frame) + frame->adjustSize(); // change the decors on the frame +} + + bool Client::focus() { // won't try focus if the client doesn't want it, or if the window isn't |
