commit d5f71c488817ac45436d22737998f55472071aa0
Author: anukul <[email protected]>
Date:   Sun Apr 10 12:38:54 2022 +0545

    [dwm][patch]fixed bug on spawning new scratchpad

diff --git 
a/dwm.suckless.org/patches/multipledynamicscratchpads/dwm-multiple-dynamic-scratchpads.diff
 
b/dwm.suckless.org/patches/multipledynamicscratchpads/dwm-multiple-dynamic-scratchpads.diff
index d72e4e09..22d00007 100644
--- 
a/dwm.suckless.org/patches/multipledynamicscratchpads/dwm-multiple-dynamic-scratchpads.diff
+++ 
b/dwm.suckless.org/patches/multipledynamicscratchpads/dwm-multiple-dynamic-scratchpads.diff
@@ -14,10 +14,10 @@ index a2ac963..1c82453 100644
 +    { MODKEY|ShiftMask,                       XK_u, scratchpad_hide, {.i = 3} 
},
 +      { MODKEY|ShiftMask,             XK_r,      scratchpad_remove,           
{0} },
  };
-
+ 
  /* button definitions */
 diff --git a/dwm.c b/dwm.c
-index 5e4d494..8e6fe18 100644
+index 5f16260..202038f 100644
 --- a/dwm.c
 +++ b/dwm.c
 @@ -195,6 +195,11 @@ static void resizemouse(const Arg *arg);
@@ -35,7 +35,7 @@ index 5e4d494..8e6fe18 100644
 @@ -269,11 +274,19 @@ static Drw *drw;
  static Monitor *mons, *selmon;
  static Window root, wmcheckwin;
-
+ 
 +/* scratchpad */
 +#define SCRATCHPAD_MASK_1 (1u << sizeof tags / sizeof * tags)
 +#define SCRATCHPAD_MASK_2 (1u << (sizeof tags / sizeof * tags + 1))
@@ -46,11 +46,11 @@ index 5e4d494..8e6fe18 100644
 +static Client *scratchpad_last_showed_3 = NULL;
  /* configuration, allows nested code to access above variables */
  #include "config.h"
-
+ 
  /* compile-time check if all tags fit into an unsigned int bit array. */
 -struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; };
 +struct NumTags { char limitexceeded[LENGTH(tags) > 28 ? -1 : 1]; };
-
+ 
  /* function implementations */
  void
 @@ -309,7 +322,9 @@ applyrules(Client *c)
@@ -61,12 +61,12 @@ index 5e4d494..8e6fe18 100644
        c->tags = c->tags & TAGMASK ? c->tags & TAGMASK : 
c->mon->tagset[c->mon->seltags];
 +    }
  }
-
+ 
  int
-@@ -1408,6 +1423,121 @@ scan(void)
+@@ -1412,6 +1427,124 @@ scan(void)
        }
  }
-
+ 
 +static void scratchpad_hide(const Arg *arg) {
 +    if(scratchpad_hide_flag < 4) {
 +        if(arg->i == 1) {
@@ -103,12 +103,15 @@ index 5e4d494..8e6fe18 100644
 +    if(selmon->sel && (scratchpad_last_showed_1 != NULL || 
scratchpad_last_showed_2 != NULL ||scratchpad_last_showed_3 != NULL) && 
(selmon->sel == scratchpad_last_showed_1 || selmon->sel == 
scratchpad_last_showed_2 || selmon->sel == scratchpad_last_showed_3))  {
 +        if(scratchpad_last_showed_1 == selmon->sel) {
 +            scratchpad_last_showed_1 = NULL;
++            scratchpad_hide_flag--;
 +        }
 +        else if(scratchpad_last_showed_2 == selmon->sel) {
 +            scratchpad_last_showed_2 = NULL;
++            scratchpad_hide_flag--;
 +        }
 +        else if(scratchpad_last_showed_3 == selmon->sel) {
 +            scratchpad_last_showed_3 = NULL;
++            scratchpad_hide_flag--;
 +        }
 +    }
 +}
@@ -185,7 +188,7 @@ index 5e4d494..8e6fe18 100644
  void
  sendmon(Client *c, Monitor *m)
  {
-@@ -1781,6 +1911,16 @@ unmanage(Client *c, int destroyed)
+@@ -1785,6 +1918,16 @@ unmanage(Client *c, int destroyed)
                XSetErrorHandler(xerror);
                XUngrabServer(dpy);
        }
diff --git a/dwm.suckless.org/patches/multipledynamicscratchpads/index.md 
b/dwm.suckless.org/patches/multipledynamicscratchpads/index.md
index 5a972f3d..c4e71272 100644
--- a/dwm.suckless.org/patches/multipledynamicscratchpads/index.md
+++ b/dwm.suckless.org/patches/multipledynamicscratchpads/index.md
@@ -14,7 +14,7 @@ A `config.def.h` change is included in the patch.
 
 Download
 --------
-* 
[dwm-multiple-dynamic-scratchpads.diff](dwm-multiple-dynamic-scratchpads.diff) 
- 2021-10-30
+* 
[dwm-multiple-dynamic-scratchpads.diff](dwm-multiple-dynamic-scratchpads.diff) 
- 2022-04-10
 
 Authors
 -------


Reply via email to