mirror of git://git.suckless.org/dwm
moved focus{next,prev} and nexttiled from client.c to layout.c (because those are not client-specific), moved toggleversatile() from layout.c to client.c (because those are client-specific)
This commit is contained in:
parent
f196b71e4d
commit
29c26b88e7
46
client.c
46
client.c
|
@ -170,38 +170,6 @@ focus(Client *c) {
|
|||
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
|
||||
}
|
||||
|
||||
void
|
||||
focusnext(Arg *arg) {
|
||||
Client *c;
|
||||
|
||||
if(!sel)
|
||||
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(Arg *arg) {
|
||||
Client *c;
|
||||
|
||||
if(!sel)
|
||||
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);
|
||||
}
|
||||
if(c) {
|
||||
focus(c);
|
||||
restack();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
killclient(Arg *arg) {
|
||||
if(!sel)
|
||||
|
@ -266,12 +234,6 @@ manage(Window w, XWindowAttributes *wa) {
|
|||
lt->arrange();
|
||||
}
|
||||
|
||||
Client *
|
||||
nexttiled(Client *c) {
|
||||
for(; c && (c->isversatile || !isvisible(c)); c = c->next);
|
||||
return c;
|
||||
}
|
||||
|
||||
void
|
||||
resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
|
||||
float actual, dx, dy, max, min;
|
||||
|
@ -340,6 +302,14 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
toggleversatile(Arg *arg) {
|
||||
if(!sel || lt->arrange == versatile)
|
||||
return;
|
||||
sel->isversatile = !sel->isversatile;
|
||||
lt->arrange();
|
||||
}
|
||||
|
||||
void
|
||||
updatesizehints(Client *c) {
|
||||
long msize;
|
||||
|
|
8
dwm.h
8
dwm.h
|
@ -105,13 +105,11 @@ extern Window root, barwin;
|
|||
/* client.c */
|
||||
extern void configure(Client *c); /* send synthetic configure event */
|
||||
extern void focus(Client *c); /* focus c, c may be NULL */
|
||||
extern void focusnext(Arg *arg); /* focuses next visible client, arg is ignored */
|
||||
extern void focusprev(Arg *arg); /* focuses previous visible client, arg is ignored */
|
||||
extern void killclient(Arg *arg); /* kill c nicely */
|
||||
extern void manage(Window w, XWindowAttributes *wa); /* manage new client */
|
||||
extern Client *nexttiled(Client *c); /* returns tiled successor of c */
|
||||
extern void resize(Client *c, int x, int y,
|
||||
int w, int h, Bool sizehints); /* resize with given coordinates c*/
|
||||
extern void toggleversatile(Arg *arg); /* toggles focused client between versatile/and non-versatile state */
|
||||
extern void updatesizehints(Client *c); /* update the size hint variables of c */
|
||||
extern void updatetitle(Client *c); /* update the name of c */
|
||||
extern void unmanage(Client *c); /* destroy c */
|
||||
|
@ -127,12 +125,14 @@ 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(Arg *arg); /* focuses next visible client, arg is ignored */
|
||||
extern void focusprev(Arg *arg); /* focuses previous visible client, arg is ignored */
|
||||
extern void incnmaster(Arg *arg); /* increments nmaster with arg's index value */
|
||||
extern void initlayouts(void); /* initialize layout array */
|
||||
extern Client *nexttiled(Client *c); /* returns tiled successor of c */
|
||||
extern void resizemaster(Arg *arg); /* resizes the master percent with arg's index value */
|
||||
extern void restack(void); /* restores z layers of all clients */
|
||||
extern void setlayout(Arg *arg); /* sets layout, -1 toggles */
|
||||
extern void toggleversatile(Arg *arg); /* toggles focusesd client between versatile/and non-versatile state */
|
||||
extern void versatile(void); /* arranges all windows versatile */
|
||||
|
||||
/* main.c */
|
||||
|
|
46
layout.c
46
layout.c
|
@ -68,6 +68,38 @@ LAYOUTS
|
|||
|
||||
/* extern */
|
||||
|
||||
void
|
||||
focusnext(Arg *arg) {
|
||||
Client *c;
|
||||
|
||||
if(!sel)
|
||||
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(Arg *arg) {
|
||||
Client *c;
|
||||
|
||||
if(!sel)
|
||||
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);
|
||||
}
|
||||
if(c) {
|
||||
focus(c);
|
||||
restack();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
incnmaster(Arg *arg) {
|
||||
if((lt->arrange != tile) || (nmaster + arg->i < 1)
|
||||
|
@ -93,6 +125,12 @@ initlayouts(void) {
|
|||
}
|
||||
}
|
||||
|
||||
Client *
|
||||
nexttiled(Client *c) {
|
||||
for(; c && (c->isversatile || !isvisible(c)); c = c->next);
|
||||
return c;
|
||||
}
|
||||
|
||||
void
|
||||
resizemaster(Arg *arg) {
|
||||
if(lt->arrange != tile)
|
||||
|
@ -153,14 +191,6 @@ setlayout(Arg *arg) {
|
|||
drawstatus();
|
||||
}
|
||||
|
||||
void
|
||||
toggleversatile(Arg *arg) {
|
||||
if(!sel || lt->arrange == versatile)
|
||||
return;
|
||||
sel->isversatile = !sel->isversatile;
|
||||
lt->arrange();
|
||||
}
|
||||
|
||||
void
|
||||
versatile(void) {
|
||||
Client *c;
|
||||
|
|
Loading…
Reference in New Issue