merged focus{prev.next} into focusclient(1/-1)
This commit is contained in:
parent
12d5a26fd2
commit
27b0595af7
|
@ -52,8 +52,8 @@ static Key key[] = { \
|
|||
{ MODKEY, XK_i, incnmaster, "1" }, \
|
||||
{ MODKEY, XK_h, incmasterw, "-15" }, \
|
||||
{ MODKEY, XK_l, incmasterw, "15" }, \
|
||||
{ MODKEY, XK_j, focusnext, NULL }, \
|
||||
{ MODKEY, XK_k, focusprev, NULL }, \
|
||||
{ MODKEY, XK_j, focusclient, "1" }, \
|
||||
{ MODKEY, XK_k, focusclient, "-1" }, \
|
||||
{ MODKEY, XK_m, togglemax, NULL }, \
|
||||
{ MODKEY, XK_Return, zoom, NULL }, \
|
||||
{ MODKEY|ShiftMask, XK_space, toggleversatile,NULL }, \
|
||||
|
|
|
@ -48,8 +48,8 @@ static Key key[] = { \
|
|||
{ MODKEY, XK_i, incnmaster, "1" }, \
|
||||
{ MODKEY, XK_g, incmasterw, "15" }, \
|
||||
{ MODKEY, XK_s, incmasterw, "-15" }, \
|
||||
{ MODKEY, XK_Tab, focusnext, NULL }, \
|
||||
{ MODKEY|ShiftMask, XK_Tab, focusprev, NULL }, \
|
||||
{ MODKEY, XK_Tab, focusclient, "1" }, \
|
||||
{ MODKEY|ShiftMask, XK_Tab, focusclient, "-1" }, \
|
||||
{ MODKEY, XK_m, togglemax, NULL }, \
|
||||
{ MODKEY, XK_Return, zoom, NULL }, \
|
||||
{ MODKEY|ShiftMask, XK_space, toggleversatile,NULL }, \
|
||||
|
|
3
dwm.h
3
dwm.h
|
@ -119,8 +119,7 @@ extern unsigned int textw(const char *text); /* return the width of text in px*/
|
|||
extern void grabkeys(void); /* grab all keys defined in config.h */
|
||||
|
||||
/* layout.c */
|
||||
extern void focusnext(const char *arg); /* focuses next visible client, arg is ignored */
|
||||
extern void focusprev(const char *arg); /* focuses previous visible client, arg is ignored */
|
||||
extern void focusclient(const char *arg); /* focuses next(1)/previous(-1) visible client */
|
||||
extern void incmasterw(const char *arg); /* increments the master width with arg's index value */
|
||||
extern void incnmaster(const char *arg); /* increments nmaster with arg's index value */
|
||||
extern void initlayouts(void); /* initialize layout array */
|
||||
|
|
36
layout.c
36
layout.c
|
@ -70,30 +70,26 @@ LAYOUTS
|
|||
/* extern */
|
||||
|
||||
void
|
||||
focusnext(const char *arg) {
|
||||
focusclient(const char *arg) {
|
||||
Client *c;
|
||||
|
||||
if(!sel)
|
||||
if(!sel || !arg)
|
||||
return;
|
||||
for(c = sel->next; c && !isvisible(c); c = c->next);
|
||||
if(!c)
|
||||
for(c = clients; c && !isvisible(c); c = c->next);
|
||||
if(c) {
|
||||
focus(c);
|
||||
restack();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
focusprev(const char *arg) {
|
||||
Client *c;
|
||||
|
||||
if(!sel)
|
||||
switch(atoi(arg)) {
|
||||
default:
|
||||
return;
|
||||
for(c = sel->prev; c && !isvisible(c); c = c->prev);
|
||||
if(!c) {
|
||||
for(c = clients; c && c->next; c = c->next);
|
||||
for(; c && !isvisible(c); c = c->prev);
|
||||
case 1:
|
||||
for(c = sel->next; c && !isvisible(c); c = c->next);
|
||||
if(!c)
|
||||
for(c = clients; c && !isvisible(c); c = c->next);
|
||||
break;
|
||||
case -1:
|
||||
for(c = sel->prev; c && !isvisible(c); c = c->prev);
|
||||
if(!c) {
|
||||
for(c = clients; c && c->next; c = c->next);
|
||||
for(; c && !isvisible(c); c = c->prev);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(c) {
|
||||
focus(c);
|
||||
|
|
Loading…
Reference in a new issue