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)
parent
f196b71e4d
commit
29c26b88e7
46
client.c
46
client.c
|
@ -170,38 +170,6 @@ focus(Client *c) {
|
||||||
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
|
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
|
void
|
||||||
killclient(Arg *arg) {
|
killclient(Arg *arg) {
|
||||||
if(!sel)
|
if(!sel)
|
||||||
|
@ -266,12 +234,6 @@ manage(Window w, XWindowAttributes *wa) {
|
||||||
lt->arrange();
|
lt->arrange();
|
||||||
}
|
}
|
||||||
|
|
||||||
Client *
|
|
||||||
nexttiled(Client *c) {
|
|
||||||
for(; c && (c->isversatile || !isvisible(c)); c = c->next);
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
|
resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
|
||||||
float actual, dx, dy, max, min;
|
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
|
void
|
||||||
updatesizehints(Client *c) {
|
updatesizehints(Client *c) {
|
||||||
long msize;
|
long msize;
|
||||||
|
|
8
dwm.h
8
dwm.h
|
@ -105,13 +105,11 @@ extern Window root, barwin;
|
||||||
/* client.c */
|
/* client.c */
|
||||||
extern void configure(Client *c); /* send synthetic configure event */
|
extern void configure(Client *c); /* send synthetic configure event */
|
||||||
extern void focus(Client *c); /* focus c, c may be NULL */
|
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 killclient(Arg *arg); /* kill c nicely */
|
||||||
extern void manage(Window w, XWindowAttributes *wa); /* manage new client */
|
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,
|
extern void resize(Client *c, int x, int y,
|
||||||
int w, int h, Bool sizehints); /* resize with given coordinates c*/
|
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 updatesizehints(Client *c); /* update the size hint variables of c */
|
||||||
extern void updatetitle(Client *c); /* update the name of c */
|
extern void updatetitle(Client *c); /* update the name of c */
|
||||||
extern void unmanage(Client *c); /* destroy 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 */
|
extern void grabkeys(void); /* grab all keys defined in config.h */
|
||||||
|
|
||||||
/* layout.c */
|
/* 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 incnmaster(Arg *arg); /* increments nmaster with arg's index value */
|
||||||
extern void initlayouts(void); /* initialize layout array */
|
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 resizemaster(Arg *arg); /* resizes the master percent with arg's index value */
|
||||||
extern void restack(void); /* restores z layers of all clients */
|
extern void restack(void); /* restores z layers of all clients */
|
||||||
extern void setlayout(Arg *arg); /* sets layout, -1 toggles */
|
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 */
|
extern void versatile(void); /* arranges all windows versatile */
|
||||||
|
|
||||||
/* main.c */
|
/* main.c */
|
||||||
|
|
46
layout.c
46
layout.c
|
@ -68,6 +68,38 @@ LAYOUTS
|
||||||
|
|
||||||
/* extern */
|
/* 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
|
void
|
||||||
incnmaster(Arg *arg) {
|
incnmaster(Arg *arg) {
|
||||||
if((lt->arrange != tile) || (nmaster + arg->i < 1)
|
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
|
void
|
||||||
resizemaster(Arg *arg) {
|
resizemaster(Arg *arg) {
|
||||||
if(lt->arrange != tile)
|
if(lt->arrange != tile)
|
||||||
|
@ -153,14 +191,6 @@ setlayout(Arg *arg) {
|
||||||
drawstatus();
|
drawstatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
toggleversatile(Arg *arg) {
|
|
||||||
if(!sel || lt->arrange == versatile)
|
|
||||||
return;
|
|
||||||
sel->isversatile = !sel->isversatile;
|
|
||||||
lt->arrange();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
versatile(void) {
|
versatile(void) {
|
||||||
Client *c;
|
Client *c;
|
||||||
|
|
Loading…
Reference in New Issue