[wiki] [sites] [dwm][patch] ruleregex header and matching fix || MaliCopter
commit 54a55c4a65a82454403d81daca5531db43f7902d
Author: MaliCopter <mali.copter_at_gmx.de>
Date: Sun Oct 11 14:06:37 2026 +0200
[dwm][patch] ruleregex header and matching fix
diff --git a/dwm.suckless.org/patches/ruleregex/dwm-ruleregex-20261010-bf78dff.diff b/dwm.suckless.org/patches/ruleregex/dwm-ruleregex-20261011-a83e54e.diff
similarity index 54%
rename from dwm.suckless.org/patches/ruleregex/dwm-ruleregex-20261010-bf78dff.diff
rename to dwm.suckless.org/patches/ruleregex/dwm-ruleregex-20261011-a83e54e.diff
index 2f48eee6..07dd0550 100644
--- a/dwm.suckless.org/patches/ruleregex/dwm-ruleregex-20261010-bf78dff.diff
+++ b/dwm.suckless.org/patches/ruleregex/dwm-ruleregex-20261011-a83e54e.diff
_at_@ -1,7 +1,7 @@
From bf78dff9137dd705bfd15319a2ce0318fc122852 Mon Sep 17 00:00:00 2001
From: MaliCopter <mali.copter_at_gmx.de>
Date: Sat, 10 Oct 2026 16:55:11 +0200
-Subject: [PATCH] Rewrote Ruleregex patch for cleaner code
+Subject: [PATCH 1/2] Rewrote Ruleregex patch for cleaner code
---
dwm.c | 21 ++++++++++++++++++---
_at_@ -13,7 +13,7 @@ index ab3a84c..3ac731c 100644
+++ b/dwm.c
_at_@ -274,6 +274,21 @@ static Window root, wmcheckwin;
struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; };
-
+
/* function implementations */
+int
+applyregex(const char *name, const char *pattern)
_at_@ -34,7 +34,7 @@ index ab3a84c..3ac731c 100644
applyrules(Client *c)
{
_at_@ -292,9 +307,9 @@ applyrules(Client *c)
-
+
for (i = 0; i < LENGTH(rules); i++) {
r = &rules[i];
- if ((!r->title || strstr(c->name, r->title))
_at_@ -46,6 +46,47 @@ index ab3a84c..3ac731c 100644
{
c->isfloating = r->isfloating;
c->tags |= r->tags;
---
+--
2.55.0
+
+From a83e54e545d4766dcc18c27be35e7689d9a9ca95 Mon Sep 17 00:00:00 2001
+From: MaliCopter <mali.copter_at_gmx.de>
+Date: Sun, 11 Oct 2026 13:54:15 +0200
+Subject: [PATCH 2/2] dwm ruleregex (hopefully) final fix
+
+---
+ dwm.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/dwm.c b/dwm.c
+index 3ac731c..aea3cc4 100644
+--- a/dwm.c
++++ b/dwm.c
+_at_@ -28,6 +28,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
++#include <regex.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <X11/cursorfont.h>
+_at_@ -280,13 +281,13 @@ applyregex(const char *name, const char *pattern)
+ regex_t re;
+ int result;
+
+- if (regcomp(&re, pattern, REG_EXTENDED) != 0) goto fail;
++ result = regcomp(&re, pattern, REG_EXTENDED | REG_NOSUB);
++ if (result != 0) return strstr(name, pattern) != NULL;
+ result = regexec(&re, name, 0, NULL, 0);
+ regfree(&re);
+ if (result == 0) return 1;
+
+- fail:
+- return strstr(name, pattern) != NULL;
++ return 0;
+ }
+
+ void
+--
+2.55.0
diff --git a/dwm.suckless.org/patches/ruleregex/index.md b/dwm.suckless.org/patches/ruleregex/index.md
index 28164950..757de942 100644
--- a/dwm.suckless.org/patches/ruleregex/index.md
+++ b/dwm.suckless.org/patches/ruleregex/index.md
_at_@ -8,7 +8,7 @@ instead of simple string matching.
Download
--------
-* [dwm-ruleregex-20261010-bf78dff.diff](dwm-ruleregex-20261010-bf78dff.diff) (2026-10-10) *latest*
+* [dwm-ruleregex-20261011-a83e54e.diff](dwm-ruleregex-20261011-a83e54e.diff) (2026-10-11) *latest*
* [dwm-ruleregex-20260508-44a91a2.diff](dwm-ruleregex-20260508-44a91a2.diff) (2026-05-08) *deprecated*
Authors
Received on Sun Oct 11 2026 - 14:07:35 CEST
This archive was generated by hypermail 2.3.0
: Sun Oct 11 2026 - 14:12:52 CEST