sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit 6995eee0c8601cf81d64ee5d783eacdaa1319ba9
parent 1a76171faec160b74bfcf08bf66e3d0fec068bf9
Author: Cédric <cedric@vouivre.org>
Date:   Sun, 16 May 2021 06:37:39 +0000

dwm-nametage-prepend patch update to dwm 6.2

Diffstat:
Adwm.suckless.org/patches/nametag/dwm-nametag-prepend-6.2.diff | 59+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/nametag/index.md | 2++
2 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/dwm.suckless.org/patches/nametag/dwm-nametag-prepend-6.2.diff b/dwm.suckless.org/patches/nametag/dwm-nametag-prepend-6.2.diff @@ -0,0 +1,59 @@ +--- a/config.def.h ++++ b/config.def.h +@@ -19,7 +19,10 @@ + }; + + /* tagging */ +-static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; ++#define MAX_TAGNAME_LEN 14 /* excludes TAG_PREPEND */ ++#define TAG_PREPEND "%1i:" /* formatted as 2 chars */ ++#define MAX_TAGLEN 16 /* altogether */ ++static char tags[][MAX_TAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; + + static const Rule rules[] = { + /* xprop(1): +--- a/dwm.c ++++ b/dwm.c +@@ -183,6 +183,7 @@ + static void monocle(Monitor *m); + static void motionnotify(XEvent *e); + static void movemouse(const Arg *arg); ++static void nametag(const Arg *arg); + static Client *nexttiled(Client *c); + static void pop(Client *); + static void propertynotify(XEvent *e); +@@ -1190,6 +1191,34 @@ + selmon = m; + focus(NULL); + } ++} ++ ++void ++nametag(const Arg *arg) { ++ char *p, name[MAX_TAGNAME_LEN]; ++ FILE *f; ++ int i; ++ ++ errno = 0; // popen(3p) says on failure it "may" set errno ++ if(!(f = popen("dmenu < /dev/null", "r"))) { ++ fprintf(stderr, "dwm: popen 'dmenu < /dev/null' failed%s%s\n", errno ? ": " : "", errno ? strerror(errno) : ""); ++ return; ++ } ++ if (!(p = fgets(name, MAX_TAGNAME_LEN, f)) && (i = errno) && ferror(f)) ++ fprintf(stderr, "dwm: fgets failed: %s\n", strerror(i)); ++ if (pclose(f) < 0) ++ fprintf(stderr, "dwm: pclose failed: %s\n", strerror(errno)); ++ if(!p) ++ return; ++ if((p = strchr(name, '\n'))) ++ *p = '\0'; ++ ++ for(i = 0; i < LENGTH(tags); i++) ++ if(selmon->tagset[selmon->seltags] & (1 << i)) { ++ sprintf(tags[i], TAG_PREPEND, i+1); ++ strcat(tags[i], name); ++ } ++ drawbars(); + } + + Client * diff --git a/dwm.suckless.org/patches/nametag/index.md b/dwm.suckless.org/patches/nametag/index.md @@ -16,6 +16,7 @@ default a tag name "foo" given to tag 5 will become tag "5:foo". Download -------- +* [dwm-nametag-prepend-6.2.diff](dwm-nametag-prepend-6.2.diff) * [dwm-nametag-6.1.diff](dwm-nametag-6.1.diff) * [dwm-nametag-prepend-6.1.diff](dwm-nametag-prepend-6.1.diff) * [dwm-nametag-5.7.2.diff](dwm-nametag-5.7.2.diff) @@ -24,3 +25,4 @@ Author ------ * Evan Gates (emg) <evan.gates@gmail.com> * prepend version by [Ondřej Grover](mailto:ondrej.grover@gmail.com) +* Cédric Macquat <cedric@vouivre.org> (nametag-prepend 6.2 port)