With this patch you can focus on any of the currently open windows on the current tagset with just one key combination
This commit is contained in:
@@ -108,6 +108,14 @@ static const Key keys[] = {
|
||||
TAGKEYS( XK_7, 6)
|
||||
TAGKEYS( XK_8, 7)
|
||||
TAGKEYS( XK_9, 8)
|
||||
{ MODKEY|ShiftMask, XK_j, focusbynum, {.i = 0} },
|
||||
{ MODKEY|ShiftMask, XK_k, focusbynum, {.i = 1} },
|
||||
{ MODKEY|ShiftMask, XK_l, focusbynum, {.i = 2} },
|
||||
{ MODKEY|ShiftMask, XK_colon, focusbynum, {.i = 3} },
|
||||
{ MODKEY|ShiftMask, XK_f, focusbynum, {.i = 4} },
|
||||
{ MODKEY|ShiftMask, XK_d, focusbynum, {.i = 5} },
|
||||
{ MODKEY|ShiftMask, XK_s, focusbynum, {.i = 6} },
|
||||
{ MODKEY|ShiftMask, XK_a, focusbynum, {.i = 7} },
|
||||
{ MODKEY|ShiftMask, XK_q, quit, {0} },
|
||||
{ MODKEY|ControlMask|ShiftMask, XK_q, quit, {1} },
|
||||
{ MODKEY|ShiftMask, XK_e, exitdwm, {0} },
|
||||
|
||||
14
dwm.c
14
dwm.c
@@ -229,6 +229,7 @@ static void tagmon(const Arg *arg);
|
||||
static void tile(Monitor *m);
|
||||
static void togglebar(const Arg *arg);
|
||||
static void togglefloating(const Arg *arg);
|
||||
static void focusbynum(const Arg *arg);
|
||||
static void toggletag(const Arg *arg);
|
||||
static void toggleview(const Arg *arg);
|
||||
static void togglewin(const Arg *arg);
|
||||
@@ -2045,6 +2046,19 @@ togglefloating(const Arg *arg)
|
||||
arrange(selmon);
|
||||
}
|
||||
|
||||
void
|
||||
focusbynum(const Arg *arg)
|
||||
{
|
||||
int i;
|
||||
Client *c;
|
||||
|
||||
i = 0;
|
||||
c = nexttiled(selmon->clients);
|
||||
|
||||
for (; c && i < arg->i; c = nexttiled(c->next), i++);
|
||||
focus(c);
|
||||
}
|
||||
|
||||
void
|
||||
toggletag(const Arg *arg)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user