# HG changeset patch # User Anselm R. Garbe # Date 1172054397 -3600 # Node ID 30ec8b96a7f6c8b7c3014d3e852316a5fac5038d # Parent 2c42d9e7f79c7988f8072eedb32c2c98598916f6 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) diff -r 2c42d9e7f79c -r 30ec8b96a7f6 client.c --- a/client.c Wed Feb 21 11:30:52 2007 +0100 +++ b/client.c Wed Feb 21 11:39:57 2007 +0100 @@ -171,38 +171,6 @@ } 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) return; @@ -266,12 +234,6 @@ 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; @@ -341,6 +303,14 @@ } void +toggleversatile(Arg *arg) { + if(!sel || lt->arrange == versatile) + return; + sel->isversatile = !sel->isversatile; + lt->arrange(); +} + +void updatesizehints(Client *c) { long msize; XSizeHints size; diff -r 2c42d9e7f79c -r 30ec8b96a7f6 dwm.h --- a/dwm.h Wed Feb 21 11:30:52 2007 +0100 +++ b/dwm.h Wed Feb 21 11:39:57 2007 +0100 @@ -105,13 +105,11 @@ /* 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 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 */ diff -r 2c42d9e7f79c -r 30ec8b96a7f6 layout.c --- a/layout.c Wed Feb 21 11:30:52 2007 +0100 +++ b/layout.c Wed Feb 21 11:39:57 2007 +0100 @@ -69,6 +69,38 @@ /* 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) || (wah / (nmaster + arg->i) <= 2 * BORDERPX)) @@ -93,6 +125,12 @@ } } +Client * +nexttiled(Client *c) { + for(; c && (c->isversatile || !isvisible(c)); c = c->next); + return c; +} + void resizemaster(Arg *arg) { if(lt->arrange != tile) @@ -154,14 +192,6 @@ } void -toggleversatile(Arg *arg) { - if(!sel || lt->arrange == versatile) - return; - sel->isversatile = !sel->isversatile; - lt->arrange(); -} - -void versatile(void) { Client *c;