Xinqi Bao's Git

patch: actualfullscreen
authorXinqi Bao <[email protected]>
Mon, 14 Mar 2022 10:07:27 +0000 (18:07 +0800)
committerXinqi Bao <[email protected]>
Mon, 14 Mar 2022 10:07:27 +0000 (18:07 +0800)
config.def.h
dwm.1
dwm.c
patches/dwm-actualfullscreen-20211013-cb3f58a.diff [new file with mode: 0644]
patches/dwm-fullscreen-6.2.diff [deleted file]

index e3ad0a5..54cd271 100644 (file)
@@ -108,6 +108,7 @@ static Key keys[] = {
     /* layout */
        { MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
        { MODKEY,                       XK_m,      setlayout,      {.v = &layouts[1]} },
+    { MODKEY|ShiftMask,             XK_f,      togglefullscr,  {0} },
        { MODKEY,                       XK_space,  zoom,           {0} },
        { MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
 
diff --git a/dwm.1 b/dwm.1
index 192b7bd..764b86f 100644 (file)
--- a/dwm.1
+++ b/dwm.1
@@ -116,6 +116,9 @@ Zooms/cycles focused window to/from master area (tiled layouts only).
 .B Mod1\-Shift\-c
 Close focused window.
 .TP
+.B Mod1\-Shift\-f
+Toggle fullscreen for focused window.
+.TP
 .B Mod1\-Shift\-space
 Toggle focused window between tiled and floating state.
 .TP
diff --git a/dwm.c b/dwm.c
index 1348e47..556d934 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -228,6 +228,7 @@ static void tagmon(const Arg *arg);
 static void tile(Monitor *);
 static void togglebar(const Arg *arg);
 static void togglefloating(const Arg *arg);
+static void togglefullscr(const Arg *arg);
 static void toggletag(const Arg *arg);
 static void toggleview(const Arg *arg);
 static void unfocus(Client *c, int setfocus);
@@ -1843,6 +1844,13 @@ togglefloating(const Arg *arg)
        arrange(selmon);
 }
 
+void
+togglefullscr(const Arg *arg)
+{
+  if(selmon->sel)
+    setfullscreen(selmon->sel, !selmon->sel->isfullscreen);
+}
+
 void
 toggletag(const Arg *arg)
 {
diff --git a/patches/dwm-actualfullscreen-20211013-cb3f58a.diff b/patches/dwm-actualfullscreen-20211013-cb3f58a.diff
new file mode 100644 (file)
index 0000000..d3be230
--- /dev/null
@@ -0,0 +1,68 @@
+From eea13010ffc3983392857ee1e3804e3aa1064d7a Mon Sep 17 00:00:00 2001
+From: Soenke Lambert <[email protected]>
+Date: Wed, 13 Oct 2021 18:21:09 +0200
+Subject: [PATCH] Fullscreen current window with [Alt]+[Shift]+[f]
+
+This actually fullscreens a window, instead of just hiding the statusbar
+and applying the monocle layout.
+---
+ config.def.h | 1 +
+ dwm.1        | 3 +++
+ dwm.c        | 8 ++++++++
+ 3 files changed, 12 insertions(+)
+
+diff --git a/config.def.h b/config.def.h
+index 1c0b587..8cd3204 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -78,6 +78,7 @@ static Key keys[] = {
+       { MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
+       { MODKEY,                       XK_space,  setlayout,      {0} },
+       { MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
++      { MODKEY|ShiftMask,             XK_f,      togglefullscr,  {0} },
+       { MODKEY,                       XK_0,      view,           {.ui = ~0 } },
+       { MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
+       { MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
+diff --git a/dwm.1 b/dwm.1
+index 13b3729..a368d05 100644
+--- a/dwm.1
++++ b/dwm.1
+@@ -116,6 +116,9 @@ Zooms/cycles focused window to/from master area (tiled layouts only).
+ .B Mod1\-Shift\-c
+ Close focused window.
+ .TP
++.B Mod1\-Shift\-f
++Toggle fullscreen for focused window.
++.TP
+ .B Mod1\-Shift\-space
+ Toggle focused window between tiled and floating state.
+ .TP
+diff --git a/dwm.c b/dwm.c
+index 4465af1..c1b899a 100644
+--- a/dwm.c
++++ b/dwm.c
+@@ -211,6 +211,7 @@ static void tagmon(const Arg *arg);
+ static void tile(Monitor *);
+ static void togglebar(const Arg *arg);
+ static void togglefloating(const Arg *arg);
++static void togglefullscr(const Arg *arg);
+ static void toggletag(const Arg *arg);
+ static void toggleview(const Arg *arg);
+ static void unfocus(Client *c, int setfocus);
+@@ -1719,6 +1720,13 @@ togglefloating(const Arg *arg)
+       arrange(selmon);
+ }
++void
++togglefullscr(const Arg *arg)
++{
++  if(selmon->sel)
++    setfullscreen(selmon->sel, !selmon->sel->isfullscreen);
++}
++
+ void
+ toggletag(const Arg *arg)
+ {
+-- 
+2.30.2
+
diff --git a/patches/dwm-fullscreen-6.2.diff b/patches/dwm-fullscreen-6.2.diff
deleted file mode 100644 (file)
index 36e3140..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From 54719285bd1a984e2efce6e8a8eab184fec11abf Mon Sep 17 00:00:00 2001
-From: Sermak <[email protected]>
-Date: Mon, 8 Jul 2019 01:06:44 +0200
-Subject: [PATCH] Simulate toggleable fullscreen mode
-
----
- config.def.h |  1 +
- dwm.c        | 14 ++++++++++++++
- 2 files changed, 15 insertions(+)
-
-diff --git a/config.def.h b/config.def.h
-index 1c0b587..f774cc5 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -76,6 +76,7 @@ static Key keys[] = {
-       { MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
-       { MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
-       { MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
-+      { MODKEY|ShiftMask,             XK_f,      fullscreen,     {0} },
-       { MODKEY,                       XK_space,  setlayout,      {0} },
-       { MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
-       { MODKEY,                       XK_0,      view,           {.ui = ~0 } },
-diff --git a/dwm.c b/dwm.c
-index 4465af1..04b1e06 100644
---- a/dwm.c
-+++ b/dwm.c
-@@ -199,6 +199,7 @@ static void sendmon(Client *c, Monitor *m);
- static void setclientstate(Client *c, long state);
- static void setfocus(Client *c);
- static void setfullscreen(Client *c, int fullscreen);
-+static void fullscreen(const Arg *arg);
- static void setlayout(const Arg *arg);
- static void setmfact(const Arg *arg);
- static void setup(void);
-@@ -1497,6 +1498,19 @@ setfullscreen(Client *c, int fullscreen)
-       }
- }
-+Layout *last_layout;
-+void
-+fullscreen(const Arg *arg)
-+{
-+      if (selmon->showbar) {
-+              for(last_layout = (Layout *)layouts; last_layout != selmon->lt[selmon->sellt]; last_layout++);
-+              setlayout(&((Arg) { .v = &layouts[2] }));
-+      } else {
-+              setlayout(&((Arg) { .v = last_layout }));
-+      }
-+      togglebar(arg);
-+}
-+
- void
- setlayout(const Arg *arg)
- {
--- 
-2.22.0