summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorbakkeby <[email protected]>2020-09-05 14:20:53 +0200
committerbakkeby <[email protected]>2020-09-05 14:20:53 +0200
commitc14f40190e230070d0975f3ee3f66bca4da19774 (patch)
tree0e6b369b9b2401c474fcdd49631532e0039bf65a
parentdc277e6c8fcdd749bbd07d435826ec5408f88903 (diff)
downloaddwm-flexipatch-c14f40190e230070d0975f3ee3f66bca4da19774.tar.gz
dwm-flexipatch-c14f40190e230070d0975f3ee3f66bca4da19774.zip
Assortment of fullscreen improvements
-rw-r--r--dwm.c10
-rw-r--r--patch/fakefullscreenclient.c33
-rw-r--r--patch/togglefullscreen.c22
3 files changed, 33 insertions, 32 deletions
diff --git a/dwm.c b/dwm.c
index f8bd641..f9e0615 100644
--- a/dwm.c
+++ b/dwm.c
@@ -1122,7 +1122,7 @@ clientmessage(XEvent *e)
if (cme->data.l[1] == netatom[NetWMFullscreen]
|| cme->data.l[2] == netatom[NetWMFullscreen]) {
#if !FAKEFULLSCREEN_PATCH && FAKEFULLSCREEN_CLIENT_PATCH
- if (c->fakefullscreen)
+ if (c->fakefullscreen == 1)
resizeclient(c, c->x, c->y, c->w, c->h);
else
setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */
@@ -1202,7 +1202,7 @@ configurenotify(XEvent *e)
#if !FAKEFULLSCREEN_PATCH
for (c = m->clients; c; c = c->next)
#if FAKEFULLSCREEN_CLIENT_PATCH
- if (c->isfullscreen && !c->fakefullscreen)
+ if (c->isfullscreen && c->fakefullscreen != 1)
#else
if (c->isfullscreen)
#endif // FAKEFULLSCREEN_CLIENT_PATCH
@@ -2215,7 +2215,7 @@ movemouse(const Arg *arg)
return;
#if !FAKEFULLSCREEN_PATCH
#if FAKEFULLSCREEN_CLIENT_PATCH
- if (c->isfullscreen && !c->fakefullscreen) /* no support moving fullscreen windows by mouse */
+ if (c->isfullscreen && c->fakefullscreen != 1) /* no support moving fullscreen windows by mouse */
return;
#else
if (c->isfullscreen) /* no support moving fullscreen windows by mouse */
@@ -2479,7 +2479,7 @@ resizemouse(const Arg *arg)
return;
#if !FAKEFULLSCREEN_PATCH
#if FAKEFULLSCREEN_CLIENT_PATCH
- if (c->isfullscreen && !c->fakefullscreen) /* no support resizing fullscreen windows by mouse */
+ if (c->isfullscreen && c->fakefullscreen != 1) /* no support resizing fullscreen windows by mouse */
return;
#else
if (c->isfullscreen) /* no support resizing fullscreen windows by mouse */
@@ -3343,7 +3343,7 @@ togglefloating(const Arg *arg)
return;
#if !FAKEFULLSCREEN_PATCH
#if FAKEFULLSCREEN_CLIENT_PATCH
- if (c->isfullscreen && !c->fakefullscreen) /* no support for fullscreen windows */
+ if (c->isfullscreen && c->fakefullscreen != 1) /* no support for fullscreen windows */
return;
#else
if (c->isfullscreen) /* no support for fullscreen windows */
diff --git a/patch/fakefullscreenclient.c b/patch/fakefullscreenclient.c
index 2b4b279..8805c4b 100644
--- a/patch/fakefullscreenclient.c
+++ b/patch/fakefullscreenclient.c
@@ -1,26 +1,27 @@
void
togglefakefullscreen(const Arg *arg)
{
- if (!selmon->sel)
+ Client *c = selmon->sel;
+ if (!c)
return;
- if (selmon->sel->fakefullscreen) {
- if (selmon->sel->isfullscreen)
- selmon->sel->fakefullscreen = 0;
+ if (c->fakefullscreen) {
+ if (c->isfullscreen)
+ c->fakefullscreen = 0;
else
- selmon->sel->isfullscreen = 0;
+ c->isfullscreen = 0;
} else {
- if (selmon->sel->isfullscreen) {
- selmon->sel->isfloating = selmon->sel->oldstate;
- selmon->sel->bw = selmon->sel->oldbw;
- selmon->sel->x = selmon->sel->oldx;
- selmon->sel->y = selmon->sel->oldy;
- selmon->sel->w = selmon->sel->oldw;
- selmon->sel->h = selmon->sel->oldh;
- resizeclient(selmon->sel, selmon->sel->x, selmon->sel->y, selmon->sel->w, selmon->sel->h);
+ if (c->isfullscreen) {
+ c->isfloating = c->oldstate;
+ c->bw = c->oldbw;
+ 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);
}
- selmon->sel->fakefullscreen = 1;
- selmon->sel->isfullscreen = 0;
+ c->fakefullscreen = 1;
+ c->isfullscreen = 0;
}
- setfullscreen(selmon->sel, !selmon->sel->isfullscreen);
+ setfullscreen(c, !c->isfullscreen);
} \ No newline at end of file
diff --git a/patch/togglefullscreen.c b/patch/togglefullscreen.c
index 02de033..c857935 100644
--- a/patch/togglefullscreen.c
+++ b/patch/togglefullscreen.c
@@ -1,24 +1,24 @@
void
togglefullscreen(const Arg *arg)
{
- if (!selmon->sel)
+ Client *c = selmon->sel;
+ if (!c)
return;
#if !FAKEFULLSCREEN_PATCH && FAKEFULLSCREEN_CLIENT_PATCH
- if (selmon->sel->fakefullscreen == 1) {
- selmon->sel->fakefullscreen = 2;
- if (selmon->sel->isfullscreen) {
- selmon->sel->isfullscreen = 0;
- }
- } else if (selmon->sel->fakefullscreen == 2) {
- selmon->sel->fakefullscreen = 0;
+ if (c->fakefullscreen == 1) {
+ c->fakefullscreen = 2;
+ if (c->isfullscreen)
+ c->isfullscreen = 0;
+ } else if (c->fakefullscreen == 2) {
+ c->fakefullscreen = 0;
togglefakefullscreen(NULL);
arrange(selmon);
return;
}
#endif // FAKEFULLSCREEN_CLIENT_PATCH
- setfullscreen(selmon->sel, !selmon->sel->isfullscreen);
- if (!selmon->sel->isfullscreen)
- arrange(selmon);
+ setfullscreen(c, !c->isfullscreen);
+ if (!c->isfullscreen)
+ arrange(c->mon);
}