sites

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

dwm-movecenter-6.2.diff (1366B)


      1 diff --git a/config.def.h b/config.def.h
      2 index 1c0b587..c5b14ba 100644
      3 --- a/config.def.h
      4 +++ b/config.def.h
      5 @@ -84,6 +84,7 @@ static Key keys[] = {
      6  	{ MODKEY,                       XK_period, focusmon,       {.i = +1 } },
      7  	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
      8  	{ MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },
      9 +	{ MODKEY,                       XK_x,      movecenter,     {0} },
     10  	TAGKEYS(                        XK_1,                      0)
     11  	TAGKEYS(                        XK_2,                      1)
     12  	TAGKEYS(                        XK_3,                      2)
     13 diff --git a/dwm.c b/dwm.c
     14 index 4465af1..292c70e 100644
     15 --- a/dwm.c
     16 +++ b/dwm.c
     17 @@ -183,6 +183,7 @@ static void maprequest(XEvent *e);
     18  static void monocle(Monitor *m);
     19  static void motionnotify(XEvent *e);
     20  static void movemouse(const Arg *arg);
     21 +static void movecenter(const Arg *arg);
     22  static Client *nexttiled(Client *c);
     23  static void pop(Client *);
     24  static void propertynotify(XEvent *e);
     25 @@ -1192,6 +1193,14 @@ movemouse(const Arg *arg)
     26  	}
     27  }
     28  
     29 +void
     30 +movecenter(const Arg *arg)
     31 +{
     32 +	selmon->sel->x = selmon->sel->mon->mx + (selmon->sel->mon->mw - WIDTH(selmon->sel)) / 2;
     33 +	selmon->sel->y = selmon->sel->mon->my + (selmon->sel->mon->mh - HEIGHT(selmon->sel)) / 2;
     34 +	arrange(selmon);
     35 +}
     36 +
     37  Client *
     38  nexttiled(Client *c)
     39  {