allow a user to set "undecorated" on a window without decorations if not based on window type, the app may decide to have decorations again sometime. this was not always legal but chromium has made it so.
Dana Jansens danakj@orodu.net
1 files changed,
7 insertions(+),
5 deletions(-)
jump to
M
openbox/client.c
→
openbox/client.c
@@ -1723,6 +1723,13 @@ self->functions = OB_CLIENT_FUNC_BELOW;
break; } + /* If the client has no decor from its type (which never changes) then + don't allow the user to "undecorate" the window. Otherwise, allow them + to, even if there are motif hints removing the decor, because those + may change these days (e.g. chromium) */ + if (self->decorations == 0) + self->functions &= ~OB_CLIENT_FUNC_UNDECORATE; + /* Mwm Hints are applied subtractively to what has already been chosen for decor and functionality */ if (self->mwmhints.flags & OB_MWM_FLAG_DECORATIONS) {@@ -1781,11 +1788,6 @@
but do kill the handle on fully maxed windows */ self->decorations &= ~(OB_FRAME_DECOR_HANDLE | OB_FRAME_DECOR_GRIPS); } - - /* If there are no decorations to remove, don't allow the user to try - toggle the state */ - if (self->decorations == 0) - self->functions &= ~OB_CLIENT_FUNC_UNDECORATE; /* finally, the user can have requested no decorations, which overrides everything (but doesnt give it a border if it doesnt have one) */