about summary refs log tree commit diff stats
path: root/config.default.h
Commit message (Expand)AuthorAgeFilesLines
* referred to LICENSE file 4.2Anselm R. Garbe2007-05-301-6/+1
* Jukka also belongs to Copyright holders after all he has contributed and done...Anselm R. Garbe2007-05-301-0/+1
* added nsz to copyright holders as well, because he did a lot recentlyAnselm R. Garbe2007-05-291-0/+1
* added anydot to Copyright holders, because he contributed a lot recentlyAnselm R. Garbe2007-05-291-0/+1
* made bar togglalbleAnselm R. Garbe2007-05-151-1/+2
* yet another fix of copyright compactisitionAnselm R. Garbe2007-04-131-3/+3
* prepared 3.7, ready to rambo 3.7Anselm R. Garbe2007-02-241-1/+1
* replacing Mod1-i with Mod1-Shift-j, Mod1-d with Mod1-Shift-kAnselm R. Garbe2007-02-231-2/+2
* default masterwidth should also be at 600Anselm R. Garbe2007-02-231-1/+1
* changed order if h/lAnselm R. Garbe2007-02-231-1/+1
* well I agree to several people claiming h/j/k/l is the better default than Ta...Anselm R. Garbe2007-02-231-4/+5
* renamed untiled into floating, keeping tiled instead of tiling (afaik tiled s...Anselm R. Garbe2007-02-221-3/+3
* nah, I don't want 640 as MASTERWIDTHAnselm R. Garbe2007-02-221-1/+1
* using MASTERWIDTH=640 and 32px steps by default (incmasterw())Anselm R. Garbe2007-02-221-3/+3
* renamed versatile into untiledAnselm R. Garbe2007-02-221-4/+4
* merged focus{prev.next} into focusclient(1/-1)Anselm R. Garbe2007-02-221-2/+2
* restoring default keybindings as Sander complainedAnselm R. Garbe2007-02-221-4/+4
* replaced Arg union with const char *arg, seems cleaner to me, even if we need...Anselm R. Garbe2007-02-221-51/+51
* re-added xterm to config.default.hAnselm R. Garbe2007-02-221-0/+1
* nah grouped keybindings by contextAnselm R. Garbe2007-02-221-21/+20
* several changes, made togglemax extern and separated it from zoom() - moved z...Anselm R. Garbe2007-02-221-30/+31
* cleaned up and commented the config.*.hAnselm R. Garbe2007-02-211-16/+18
* replaced togglelayout with setlayoutAnselm R. Garbe2007-02-191-3/+3
* changed some odering in config*.hAnselm R. Garbe2007-02-191-10/+10
* renames swim[ming] into versatileAnselm R. Garbe2007-02-191-3/+3
* renamed floating into swimming (this does not clash with C naming conventions...Anselm R. Garbe2007-02-191-4/+4
* introduced Layout structAnselm R. Garbe2007-02-191-4/+7
* introduced tile.c, some refactoring of functionsAnselm R. Garbe2007-02-191-1/+1
* simplifying regexps in config samples 3.5Anselm R. Garbe2007-02-141-3/+3
* treating acroread and mplayer floating by defaultAnselm R. Garbe2007-02-091-0/+2
* added TOPBAR option for making the bar appear what the user likesAnselm R. Garbe2007-02-081-0/+1
* I prefer BORDERPX=1Anselm R. Garbe2007-01-191-1/+1
* moved BORDERPX to config.*.hAnselm R. Garbe2007-01-171-0/+1
* removed firefox rule from default.hAnselm R. Garbe2007-01-161-1/+0
* applied new default colorsAnselm R. Garbe2007-01-161-5/+5
* implemented new color scheme accordingly to Sanders proposalAnselm R. Garbe2007-01-141-2/+2
* removed mode label stuffAnselm R. Garbe2007-01-141-1/+1
* added comment to %u in config.default.h, added Button{4.5} support on mode labelAnselm R. Garbe2007-01-101-2/+2
* implemented nmaster appearance in mode label (using %u)Anselm R. Garbe2007-01-081-1/+1
* I received Sander's complain just in time ;) 2.9Anselm R. Garbe2007-01-081-4/+4
* fofofoAnselm R. Garbe2007-01-081-4/+4
* extended default tags to 1-9Anselm R. Garbe2007-01-081-1/+17
* changed shortcuts to M-i and M-dAnselm R. Garbe2007-01-051-2/+2
* changed plus key to MODKEY-Shift-plus (US-layout restrictions ;)Anselm R. Garbe2007-01-051-1/+1
* added MODKEY-{plus,minus} shortcuts (increasing/decreasing master clients)Anselm R. Garbe2007-01-051-0/+2
* experimental version which allows master clients being increased/decreasedAnselm R. Garbe2007-01-051-0/+1
* correctionsarg@mig292007-01-021-1/+1
* next version will contain updated copyright noticearg@mig292007-01-021-1/+1
* found compromise for fonts 2.6arg@mig292006-12-071-1/+1
* nah, people should define 'fixed' to be compatible with their localearg@mig292006-12-071-1/+1
ail; newclients = tail = NULL; while((c = minclient())) { detach(c); if(tail) { c->prev = tail; tail->next = c; tail = c; } else tail = newclients = c; } clients = newclients; } static void togglemax(Client *c) { XEvent ev; if((c->ismax = !c->ismax)) { c->rx = c->x; c->x = sx; c->ry = c->y; c->y = bh; c->rw = c->w; c->w = sw - 2 * BORDERPX; c->rh = c->h; c->h = sh - bh - 2 * BORDERPX; } else { c->x = c->rx; c->y = c->ry; c->w = c->rw; c->h = c->rh; } resize(c, True, TopLeft); while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } /* extern */ void (*arrange)(void) = DEFMODE; void detach(Client *c) { if(c->prev) c->prev->next = c->next; if(c->next) c->next->prev = c->prev; if(c == clients) clients = c->next; c->next = c->prev = NULL; } void dofloat(void) { Client *c; for(c = clients; c; c = c->next) { if(isvisible(c)) { resize(c, True, TopLeft); } else ban(c); } if(!sel || !isvisible(sel)) { for(c = stack; c && !isvisible(c); c = c->snext); focus(c); } restack(); } void dotile(void) { unsigned int i, n, mpx, stackw, stackh, th; Client *c; for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) n++; mpx = (sw * master) / 1000; stackw = sw - mpx; stackh = sh - bh; th = stackh; if(n > 1) th /= (n - 1); for(i = 0, c = clients; c; c = c->next) if(isvisible(c)) { if(c->isfloat) { resize(c, True, TopLeft); continue; } c->ismax = False; c->x = sx; c->y = sy + bh; if(n == 1) { /* only 1 window */ c->w = sw - 2 * BORDERPX; c->h = sh - 2 * BORDERPX - bh; } else if(i == 0) { /* master window */ c->w = mpx - 2 * BORDERPX; c->h = sh - bh - 2 * BORDERPX; } else { /* tile window */ c->x += mpx; c->w = stackw - 2 * BORDERPX; if(th > bh) { c->y = sy + (i - 1) * th + bh; if(i + 1 == n) c->h = sh - c->y - 2 * BORDERPX; else c->h = th - 2 * BORDERPX; } else /* fallback if th < bh */ c->h = stackh - 2 * BORDERPX; } resize(c, False, TopLeft); i++; } else ban(c); if(!sel || !isvisible(sel)) { for(c = stack; c && !isvisible(c); c = c->snext); focus(c); } restack(); } void focusnext(Arg *arg) { Client *c; if(!sel) return; if(!(c = getnext(sel->next))) c = getnext(clients); if(c) { focus(c); restack(); } } void focusprev(Arg *arg) { Client *c; if(!sel) return; if(!(c = getprev(sel->prev))) { for(c = clients; c && c->next; c = c->next); c = getprev(c); } if(c) { focus(c); restack(); } } Bool isvisible(Client *c) { unsigned int i; for(i = 0; i < ntags; i++) if(c->tags[i] && seltag[i]) return True; return False; } void resizecol(Arg *arg) { unsigned int n; Client *c; for(n = 0, c = clients; c; c = c->next) if(isvisible(c) && !c->isfloat) n++; if(!sel || sel->isfloat || n < 2 || (arrange == dofloat)) return; if(sel == getnext(clients)) { if(master + arg->i > 950 || master + arg->i < 50) return; master += arg->i; } else { if(master - arg->i > 950 || master - arg->i < 50) return; master -= arg->i; } arrange(); } void restack(void) { Client *c; XEvent ev; if(!sel) { drawstatus(); return; } if(sel->isfloat || arrange == dofloat) { XRaiseWindow(dpy, sel->win); XRaiseWindow(dpy, sel->twin); } if(arrange != dofloat) { if(!sel->isfloat) { XLowerWindow(dpy, sel->twin); XLowerWindow(dpy, sel->win); } for(c = nexttiled(clients); c; c = nexttiled(c->next)) { if(c == sel) continue; XLowerWindow(dpy, c->twin); XLowerWindow(dpy, c->win); } } drawall(); XSync(dpy, False); while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } void togglemode(Arg *arg) { arrange = (arrange == dofloat) ? dotile : dofloat; if(sel) arrange(); else drawstatus(); } void toggleview(Arg *arg) { unsigned int i; seltag[arg->i] = !seltag[arg->i]; for(i = 0; i < ntags && !seltag[i]; i++); if(i == ntags) seltag[arg->i] = True; /* cannot toggle last view */ reorder(); arrange(); } void view(Arg *arg) { unsigned int i; for(i = 0; i < ntags; i++) seltag[i] = False; seltag[arg->i] = True; reorder(); arrange(); } void viewall(Arg *arg) { unsigned int i; for(i = 0; i < ntags; i++) seltag[i] = True; reorder(); arrange(); } void zoom(Arg *arg) { unsigned int n; Client *c; if(!sel) return; if(sel->isfloat || (arrange == dofloat)) { togglemax(sel); return; } for(n = 0, c = clients; c; c = c->next) if(isvisible(c) && !c->isfloat) n++; if(n < 2 || (arrange == dofloat)) return; if((c = sel) == nexttiled(clients)) if(!(c = nexttiled(c->next))) return; detach(c); if(clients) clients->prev = c; c->next = clients; clients = c; focus(c); arrange(); }