about summary refs log tree commit diff stats
path: root/config.default.h
Commit message (Expand)AuthorAgeFilesLines
* 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
* using a UTF-8 capable fixed fontarg@mig292006-12-071-1/+1
* removed viewall(), replaced with view(-1); added tag(-1) to tag a client with...arg@mig292006-11-301-1/+2
* returning to old Key structarg@mig292006-11-271-33/+32
* changing Key.func into Key.func[NFUNCS], this allows sequences execution of f...arg@mig292006-11-271-34/+35
* added togglefloat to hg tip (i consider this useful for some cases), using MO...arg@mig292006-11-271-0/+1
="n">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, mw, mh, tw, th; Client *c; for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) n++; /* window geoms */ mw = (n > nmaster) ? (waw * master) / 1000 : waw; mh = (n > nmaster) ? wah / nmaster : wah / (n > 0 ? n : 1); tw = waw - mw; th = (n > nmaster) ? wah / (n - nmaster) : 0; 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 = wax; c->y = way; if(i < nmaster) { c->y += i * mh; c->w = mw - 2 * BORDERPX; c->h = mh - 2 * BORDERPX; } else { /* tile window */ c->x += mw; c->w = tw - 2 * BORDERPX; if(th > bh) { c->y += (i - nmaster) * th; c->h = th - 2 * BORDERPX; } else /* fallback if th < bh */ c->h = wah - 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(); } } void incnmaster(Arg *arg) { if((nmaster + arg->i < 1) || (wah / (nmaster + arg->i) < bh)) return; nmaster += arg->i; arrange(); } Bool isvisible(Client *c) { unsigned int i; for(i = 0; i < ntags; i++) if(c->tags[i] && seltag[i]) return True; return False; } void resizemaster(Arg *arg) { if(arg->i == 0) master = MASTER; 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 togglefloat(Arg *arg) { if (!sel || arrange == dofloat) return; sel->isfloat = !sel->isfloat; arrange(); } 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 */ arrange(); } void view(Arg *arg) { unsigned int i; for(i = 0; i < ntags; i++) seltag[i] = (arg->i == -1) ? True : False; if(arg->i >= 0 && arg->i < ntags) seltag[arg->i] = True; 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 = nexttiled(clients); c; c = nexttiled(c->next)) n++; 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(); }