all repos — openbox @ 6d95e2441a1ebba1ec108860d08aceee852c6747

openbox fork - make it a bit more like ryudo

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
commit

6d95e2441a1ebba1ec108860d08aceee852c6747

parent

c36b89ba12eae18d3011c8516906c21e9abb89dc

1 files changed, 7 insertions(+), 5 deletions(-)

jump to
M openbox/client.copenbox/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) */