1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-21 21:38:00 +01:00

wmaker: Add new advanced option to ignore decoration changes from clients.

This adds an option (IgnoreDecorationChanges in plist) for windows to
ignore any requests from the clients for changing decorations. Since the
default state for any window pre-request is to have all decorations visible
this basically means that applications cannot hide any of the titlebar,
sizing bar, titlebar buttons, etc and any hint that causes these elements
to be hidden will be followed by a restoration if this option is set.

 This is useful for broken clients (e.g. Steam) and clients that force
subpar client side decorations. It is basically a per-window setting of the
global advanced option to ignore Gtk hints, except that it also applies to
non-Gtk applications.
This commit is contained in:
Bad Sector
2018-01-14 08:59:42 +02:00
committed by Carlos R. Mafra
parent 36879de261
commit 569fbff07c
5 changed files with 37 additions and 1 deletions

View File

@@ -1325,6 +1325,17 @@ static Bool handleWindowType(WWindow *wwin, Atom type, int *layer)
ret = False;
}
/* Restore decoration if the user has enabled the
* IgnoreDecorationChanges option */
if (WFLAGP(wwin, ignore_decoration_changes)) {
wwin->client_flags.no_titlebar = 0;
wwin->client_flags.no_resizable = 0;
wwin->client_flags.no_miniaturizable = 0;
wwin->client_flags.no_resizebar = 0;
wwin->client_flags.no_border = 0;
wwin->client_flags.no_movable = 0;
}
wwin->type = type;
*layer = getWindowLayer(wwin);