summaryrefslogtreecommitdiffhomepage
path: root/patch
diff options
context:
space:
mode:
authorbakkeby <[email protected]>2020-09-13 13:35:15 +0200
committerbakkeby <[email protected]>2020-09-13 13:35:15 +0200
commitfada5790a2ab458a89706d0e8cad58f76fc77420 (patch)
tree626f34077e977481d03b0707878bbb0df4e9b99d /patch
parent819d06c5c9de496a41026e6077661c7b91877e96 (diff)
downloaddwm-flexipatch-fada5790a2ab458a89706d0e8cad58f76fc77420.tar.gz
dwm-flexipatch-fada5790a2ab458a89706d0e8cad58f76fc77420.zip
fakefullscreenclient: setfullscreen logic overhaul
Diffstat (limited to 'patch')
-rw-r--r--patch/fakefullscreenclient.c31
-rw-r--r--patch/togglefullscreen.c18
2 files changed, 14 insertions, 35 deletions
diff --git a/patch/fakefullscreenclient.c b/patch/fakefullscreenclient.c
index bb88665..2e57bf3 100644
--- a/patch/fakefullscreenclient.c
+++ b/patch/fakefullscreenclient.c
@@ -5,31 +5,14 @@ togglefakefullscreen(const Arg *arg)
if (!c)
return;
- if (c->fakefullscreen) {
- if (c->isfullscreen) {
- if (c->isfloating && c->fakefullscreen == 1) {
- c->oldstate = c->isfloating;
- c->oldx = c->x;
- c->oldy = c->y;
- c->oldw = c->w;
- c->oldh = c->h;
- }
- c->fakefullscreen = 0;
- }
- else
- c->isfullscreen = 0;
+ if (c->fakefullscreen != 1 && c->isfullscreen) { // exit fullscreen --> fake fullscreen
+ c->fakefullscreen = 2;
+ setfullscreen(c, 0);
+ } else if (c->fakefullscreen == 1) {
+ setfullscreen(c, 0);
+ c->fakefullscreen = 0;
} else {
c->fakefullscreen = 1;
- 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);
- }
- c->isfullscreen = 0;
+ setfullscreen(c, 1);
}
- setfullscreen(c, !c->isfullscreen);
} \ No newline at end of file
diff --git a/patch/togglefullscreen.c b/patch/togglefullscreen.c
index cac66e4..bc1c705 100644
--- a/patch/togglefullscreen.c
+++ b/patch/togglefullscreen.c
@@ -5,17 +5,13 @@ togglefullscreen(const Arg *arg)
if (!c)
return;
- #if !FAKEFULLSCREEN_PATCH && FAKEFULLSCREEN_CLIENT_PATCH
- if (c->fakefullscreen == 1) {
+ #if FAKEFULLSCREEN_CLIENT_PATCH
+ if (c->fakefullscreen == 1) { // fake fullscreen --> fullscreen
c->fakefullscreen = 2;
- if (c->isfullscreen)
- c->isfullscreen = 0;
- } else if (c->fakefullscreen == 2) {
- c->fakefullscreen = 0;
- togglefakefullscreen(NULL);
- return;
- }
- #endif // FAKEFULLSCREEN_CLIENT_PATCH
-
+ setfullscreen(c, 1);
+ } else
+ setfullscreen(c, !c->isfullscreen);
+ #else
setfullscreen(c, !c->isfullscreen);
+ #endif // FAKEFULLSCREEN_CLIENT_PATCH
}