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:
committed by
Carlos R. Mafra
parent
36879de261
commit
569fbff07c
11
src/wmspec.c
11
src/wmspec.c
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user