dwm-floatrules-6.2.diff - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       dwm-floatrules-6.2.diff (2092B)
       ---
            1 diff -u dwm/config.def.h dwmnew/config.def.h
            2 --- dwm/config.def.h        2020-03-01 19:10:06.676821764 +1300
            3 +++ dwmnew/config.def.h        2020-03-01 19:29:26.276901430 +1300
            4 @@ -26,9 +26,9 @@
            5           *        WM_CLASS(STRING) = instance, class
            6           *        WM_NAME(STRING) = title
            7           */
            8 -        /* class      instance    title       tags mask     isfloating   monitor */
            9 -        { "Gimp",     NULL,       NULL,       0,            1,           -1 },
           10 -        { "Firefox",  NULL,       NULL,       1 << 8,       0,           -1 },
           11 +        /* class      instance    title       tags mask     isfloating   monitor    float x,y,w,h         floatborderpx*/
           12 +        { "Gimp",     NULL,       NULL,       0,            1,           -1,        50,50,500,500,        5 },
           13 +        { "Firefox",  NULL,       NULL,       1 << 8,       0,           -1,        50,50,500,500,        5 },
           14  };
           15  
           16  /* layout(s) */
           17 Only in dwmnew: config.h
           18 Only in dwmnew: drw.o
           19 diff -u dwm/dwm.c dwmnew/dwm.c
           20 --- dwm/dwm.c        2020-03-01 19:10:06.680155097 +1300
           21 +++ dwmnew/dwm.c        2020-03-01 19:28:26.793564016 +1300
           22 @@ -93,6 +93,7 @@
           23          int bw, oldbw;
           24          unsigned int tags;
           25          int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
           26 +        int floatborderpx;
           27          Client *next;
           28          Client *snext;
           29          Monitor *mon;
           30 @@ -139,6 +140,8 @@
           31          unsigned int tags;
           32          int isfloating;
           33          int monitor;
           34 +        int floatx, floaty, floatw, floath;
           35 +        int floatborderpx;
           36  } Rule;
           37  
           38  /* function declarations */
           39 @@ -299,6 +302,13 @@
           40                  {
           41                          c->isfloating = r->isfloating;
           42                          c->tags |= r->tags;
           43 +                        c->floatborderpx = r->floatborderpx;
           44 +                        if (r->isfloating) {
           45 +                                c->x = r->floatx;
           46 +                                c->y = r->floaty;
           47 +                                c->w = r->floatw;
           48 +                                c->h = r->floath;
           49 +                        }
           50                          for (m = mons; m && m->num != r->monitor; m = m->next);
           51                          if (m)
           52                                  c->mon = m;
           53 @@ -1281,7 +1291,10 @@
           54          c->oldy = c->y; c->y = wc.y = y;
           55          c->oldw = c->w; c->w = wc.width = w;
           56          c->oldh = c->h; c->h = wc.height = h;
           57 -        wc.border_width = c->bw;
           58 +        if (c->isfloating)
           59 +                wc.border_width = c->floatborderpx;
           60 +        else
           61 +                wc.border_width = c->bw;
           62          XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
           63          configure(c);
           64          XSync(dpy, False);