about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* applied Sanders patchesarg@10ksloc.org2006-08-018-58/+42
|
* committed a patch which fixes the hints of Jukkaarg@10ksloc.org2006-08-014-40/+14
|
* updated htmlarg@10ksloc.org2006-07-211-1/+1
|
* Added tag 0.5 for changeset 22213b9a2114167ee8ba019a012e27da0422a61aarg@10ksloc.org2006-07-211-0/+1
|
* prepared 0.5 0.5arg@10ksloc.org2006-07-211-3/+9
|
* some cleanups/fixes inspired by Jukka Salmi's feedbackarg@10ksloc.org2006-07-214-13/+7
|
* simplified main.c, switching back to single urxvt usagearg@10ksloc.org2006-07-212-28/+14
|
* s/sleep 5/sleep 2/arg@10ksloc.org2006-07-211-1/+1
|
* changed the status info README hint (more simple now, no extra script necessary)arg@10ksloc.org2006-07-211-7/+1
|
* s/0.5/0.6/ - my steps are wider than the realityarg@10ksloc.org2006-07-212-2/+2
|
* applied sanders maxfix patcharg@10ksloc.org2006-07-211-2/+2
|
* added a note how to achieve status info in the bararg@10ksloc.org2006-07-211-1/+17
|
* preparing 0.6 which will be available in the evening after sanders patch approx.arg@10ksloc.org2006-07-212-21/+8
|
* sanitization of several clunky stuff, removed heretag (rarely of use), ↵arg@10ksloc.org2006-07-214-48/+40
| | | | simplified pop(), changed shortcuts to always contain MODKEY
* applied sanders no_sizehints for tiled mode patch (thx!)arg@10ksloc.org2006-07-202-11/+11
|
* serious mistake in pop() (forgot to set c->prev to NULL on pop)arg@10ksloc.org2006-07-201-0/+1
|
* using double-linked list in order to get correct prev focus handlingarg@10ksloc.org2006-07-204-21/+45
|
* added yet another CUTOMIZE tagarg@10ksloc.org2006-07-201-0/+2
|
* cleaned the CUSTOMIZE flagsarg@10ksloc.org2006-07-203-5/+9
|
* made status bar drawing more robust, implemented togglemax and togglemode, ↵arg@10ksloc.org2006-07-205-33/+59
| | | | works quite well
* cleaned up codearg@10ksloc.org2006-07-208-85/+78
|
* Added tag 0.4 for changeset eb3165734f00fe7f7da8aeebaed00e60a57caac9arg@10ksloc.org2006-07-201-0/+1
|
* prepared 0.4 0.4arg@10ksloc.org2006-07-202-4/+10
|
* using O3 instead of Os, binary size still < 40kbarg@10ksloc.org2006-07-201-1/+1
|
* fixed version in man pagearg@10ksloc.org2006-07-201-1/+1
|
* yet another html patcharg@10ksloc.org2006-07-201-5/+5
|
* updated htmlarg@10ksloc.org2006-07-201-5/+5
|
* makefile now sets permissions for executables and man pagesarg@10ksloc.org2006-07-201-0/+6
|
* removed c->f{x,y,w,h} and c->t{x,y,w,h} in favor for the new rule handling ↵arg@10ksloc.org2006-07-204-114/+85
| | | | remembering two kinds of geometries is unnecessary, removed the randomized (x,y) setting on dofloat startup, was kind too random und unpredictable
* implemented regexp matching for rulesarg@10ksloc.org2006-07-194-32/+40
|
* applied Jukka's patch with s/ModKeyMask/MODKEY/garg@10ksloc.org2006-07-194-24/+25
|
* removed TODO, because dwm is nearly finishedarg@10ksloc.org2006-07-191-1/+0
|
* reapplied my default keybindingsarg@10ksloc.org2006-07-191-1/+10
|
* alternate dwm.pngarg@10ksloc.org2006-07-191-0/+0
|
* Added tag 0.3 for changeset 7e66082e5092fb0bccd18a3695a0bec52c80fdb2arg@10ksloc.org2006-07-191-0/+1
|
* some changes in the html page 0.3arg@10ksloc.org2006-07-191-2/+2
|
* prepared 0.3arg@10ksloc.org2006-07-191-10/+1
|
* fixed the bug mentioned by Sanderarg@10ksloc.org2006-07-191-3/+7
|
* refactored Sanders code somewhatarg@10ksloc.org2006-07-193-15/+8
|
* implemented fallback for too many clients in stacked modearg@10ksloc.org2006-07-192-3/+10
|
* and another fix...arg@10ksloc.org2006-07-191-1/+1
|
* yet another typo fixarg@10ksloc.org2006-07-191-2/+2
|
* fixed a typoarg@10ksloc.org2006-07-191-1/+1
|
* floating clients get random (x,y) offsets nowarg@10ksloc.org2006-07-191-0/+7
|
* applied Sanders resize patch, fixed lower bugarg@10ksloc.org2006-07-195-19/+43
|
* changed CFLAGsarg@mmvi2006-07-181-5/+5
|
* firefox instance is different nowarg@mmvi2006-07-181-1/+1
|
* changed occurrences of wmii.de into 10kloc.org in dwm.html, because ↵Anselm R. Garbe2006-07-181-8/+8
| | | | 10kloc.org is already working
* implemened distinguishing float/managed geometries of clients (works quite well)Anselm R. Garbe2006-07-185-78/+105
|
* pop on heretagAnselm R. Garbe2006-07-183-8/+16
|
"p">); c; c = nexttiled(c->next)) n++; mpx = (waw * master) / 1000; stackw = waw - mpx; 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(n == 1) { /* only 1 window */ c->w = waw - 2 * BORDERPX; c->h = wah - 2 * BORDERPX; } else if(i == 0) { /* master window */ c->w = mpx - 2 * BORDERPX; c->h = wah - 2 * BORDERPX; th = wah / (n - 1); } else { /* tile window */ c->x += mpx; c->w = stackw - 2 * BORDERPX; if(th > bh) { c->y += (i - 1) * 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(); } } 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 = 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(); }