URI: 
       dwm-nametag-5.7.2.diff - sites - public wiki contents of suckless.org
  HTML git clone git://git.suckless.org/sites
   DIR Log
   DIR Files
   DIR Refs
       ---
       dwm-nametag-5.7.2.diff (2475B)
       ---
            1 diff -r 2bcd25cce4ab config.def.h
            2 --- a/config.def.h        Sun Sep 27 20:20:14 2009 +0100
            3 +++ b/config.def.h        Thu Oct 29 12:27:26 2009 -0700
            4 @@ -14,7 +14,8 @@
            5  static const Bool topbar            = True;     /* False means bottom bar */
            6  
            7  /* tagging */
            8 -static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
            9 +#define MAX_TAGLEN 16
           10 +static char tags[][MAX_TAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
           11  
           12  static const Rule rules[] = {
           13          /* class      instance    title       tags mask     isfloating   monitor */
           14 @@ -71,6 +72,7 @@
           15          { MODKEY,                       XK_period, focusmon,       {.i = +1 } },
           16          { MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
           17          { MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
           18 +        { MODKEY,                       XK_n,      nametag,        {0} },
           19          TAGKEYS(                        XK_1,                      0)
           20          TAGKEYS(                        XK_2,                      1)
           21          TAGKEYS(                        XK_3,                      2)
           22 diff -r 2bcd25cce4ab config.mk
           23 --- a/config.mk        Sun Sep 27 20:20:14 2009 +0100
           24 +++ b/config.mk        Thu Oct 29 12:27:26 2009 -0700
           25 @@ -19,7 +19,7 @@
           26  LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS}
           27  
           28  # flags
           29 -CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
           30 +CPPFLAGS = -D_BSD_SOURCE -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
           31  #CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
           32  CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
           33  #LDFLAGS = -g ${LIBS}
           34 diff -r 2bcd25cce4ab dwm.c
           35 --- a/dwm.c        Sun Sep 27 20:20:14 2009 +0100
           36 +++ b/dwm.c        Thu Oct 29 12:27:26 2009 -0700
           37 @@ -195,6 +195,7 @@
           38  static void maprequest(XEvent *e);
           39  static void monocle(Monitor *m);
           40  static void movemouse(const Arg *arg);
           41 +static void nametag(const Arg *arg);
           42  static Client *nexttiled(Client *c);
           43  static Monitor *ptrtomon(int x, int y);
           44  static void propertynotify(XEvent *e);
           45 @@ -1240,6 +1241,25 @@
           46          }
           47  }
           48  
           49 +void
           50 +nametag(const Arg *arg) {
           51 +        char *cp, name[MAX_TAGLEN];
           52 +        FILE *fp;
           53 +        int i;
           54 +
           55 +        if(!(fp = (FILE*)popen("echo -n | dmenu", "r")))
           56 +                fprintf(stderr, "dwm: Could not popen 'echo -n | dmenu'\n");
           57 +        cp = fgets(name, MAX_TAGLEN, fp);
           58 +        pclose(fp);
           59 +        if(cp == NULL)
           60 +                return;
           61 +
           62 +        for(i = 0; i < LENGTH(tags); i++)
           63 +                if(selmon->tagset[selmon->seltags] & (1 << i))
           64 +                        memcpy(tags[i], name, MAX_TAGLEN);
           65 +        drawbars();
           66 +}
           67 +
           68  Client *
           69  nexttiled(Client *c) {
           70          for(; c && (c->isfloating || !ISVISIBLE(c)); c = c->next);