From ac78d59c80b627a5332ac64a7d4359389c4251fa Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Mon, 8 Jun 2020 14:58:18 -0700 Subject: small fixes --- sys/cmd/dwm/client.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'sys/cmd/dwm/client.c') diff --git a/sys/cmd/dwm/client.c b/sys/cmd/dwm/client.c index 106082c..783190a 100644 --- a/sys/cmd/dwm/client.c +++ b/sys/cmd/dwm/client.c @@ -362,26 +362,37 @@ setfocus(Client *c) void setfullscreen(Client *c, int fullscreen) { + if (fullscreen && !c->isfullscreen) { + // ulong rect[4] = { 0, 0, c->w, c->h }; XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, PropModeReplace, (uchar*)&netatom[NetWMFullscreen], 1); + + static ulong opacity = 0xFFFFFFFFul; + XChangeProperty(dpy, c->win, netatom[NetWMWindowOpacity], XA_CARDINAL, 32, PropModeReplace, (uchar *)&opacity, 1L); + // XChangeProperty(dpy, c->win, netatom[NetWMOpaqueRegion], XA_CARDINAL, 32, + // PropModeReplace, (uchar*)&rect, arrlen(rect)); + c->isfullscreen = 1; - c->oldstate = c->isfloating; - c->oldbw = c->bw; - c->bw = 0; - c->isfloating = 1; + c->oldstate = c->isfloating; + c->oldbw = c->bw; + c->bw = 0; + c->isfloating = 1; resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh); + XRaiseWindow(dpy, c->win); } else if (!fullscreen && c->isfullscreen){ XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32, - PropModeReplace, (uchar*)0, 0); + PropModeReplace, (uchar*)nil, 0); + XDeleteProperty(dpy, c->win, netatom[NetWMWindowOpacity]); + c->isfullscreen = 0; - c->isfloating = c->oldstate; + c->isfloating = c->oldstate; c->bw = c->oldbw; - c->x = c->oldx; - c->y = c->oldy; - c->w = c->oldw; - c->h = c->oldh; + c->x = c->oldx; + c->y = c->oldy; + c->w = c->oldw; + c->h = c->oldh; resizeclient(c, c->x, c->y, c->w, c->h); arrange(c->mon); } -- cgit v1.2.1