summary refs log tree commit diff stats
Commit message (Expand)AuthorAgeFilesLines
...
* the blog is WIPAndrew Yu2022-01-151-2/+2
* 50em max-widthAndrew Yu2022-01-151-1/+4
* more css tweaksAndrew Yu2022-01-151-7/+7
* minor css tweaksAndrew Yu2022-01-151-8/+7
* css changes for link & linehtAndrew Yu2022-01-151-5/+1
* justify textAndrew Yu2022-01-151-0/+1
* nitpicked stylesAndrew Yu2022-01-142-10/+2
* margin not workingAndrew Yu2022-01-141-3/+3
* more block stylesAndrew Yu2022-01-141-6/+6
* marginAndrew Yu2022-01-142-1/+4
* refer to AirbusAndrew Yu2022-01-141-1/+1
* fix footer refAndrew Yu2022-01-141-1/+2
* css note, delovelyAndrew Yu2022-01-143-211/+1
* remove link paddingAndrew Yu2022-01-141-4/+0
* remove the rickrollAndrew Yu2022-01-141-2/+1
* padding on boxesAndrew Yu2022-01-141-3/+3
* make projects stand outAndrew Yu2022-01-142-2/+8
* changed many in the index page. NH page WIP.Andrew Yu2022-01-142-50/+66
* yesAndrew Yu2022-01-142-3/+4
* NEW HAMPSHIREAndrew Yu2022-01-132-0/+90
* width of memeAndrew Yu2022-01-121-8/+2
* memzAndrew Yu2022-01-121-2/+7
* nyanAndrew Yu2022-01-122-18/+3
* rickrollAndrew Yu2022-01-122-0/+24
* size! don't spin!Andrew Yu2022-01-121-6/+11
* beautiful product for sale (jk)Andrew Yu2022-01-121-13/+19
* slower rotationAndrew Yu2022-01-121-2/+2
* just a bit more hauntedAndrew Yu2022-01-121-3/+3
* asteriskAndrew Yu2022-01-121-3/+3
* gray borderAndrew Yu2022-01-121-0/+1
* perspectives and stuffAndrew Yu2022-01-123-559/+31
* multiple columns, againAndrew Yu2022-01-122-13/+5
* smaller campaignAndrew Yu2022-01-121-5/+0
* aAndrew Yu2022-01-111-1/+1
* ;Andrew Yu2022-01-111-0/+4
* 0Andrew Yu2022-01-111-1/+1
* fallAndrew Yu2022-01-111-2/+2
* aAndrew Yu2022-01-112-4/+6
* mpegAndrew Yu2022-01-111-0/+1
* fadsAndrew Yu2022-01-111-1/+4
* alhfkdsAndrew Yu2022-01-111-4/+4
* hiAndrew Yu2022-01-111-2/+2
* :):):):)Andrew Yu2022-01-111-1/+2
* oh!Andrew Yu2022-01-113-5/+14
* lovely bannerAndrew Yu2022-01-111-2/+2
* fantasticly lovelyAndrew Yu2022-01-111-17/+165
* yayAndrew Yu2022-01-111-2/+3
* more lovely!Andrew Yu2022-01-112-97/+219
* note on css fun :DAndrew Yu2022-01-115-154/+267
* add a lovely thingyAndrew Yu2022-01-114-0/+333
lass="w"> if(isvisible(c)) { resize(c, True, TopLeft); } else ban(c); } if(!sel || !isvisible(sel)) sel = getnext(clients); if(sel) focus(sel); else XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); restack(); } void dotile(Arg *arg) { int h, i, n, w; Client *c; w = sw - mw; for(n = 0, c = clients; c; c = c->next) if(isvisible(c) && !c->isfloat) n++; if(n > 1) h = (sh - bh) / (n - 1); else h = sh - bh; for(i = 0, c = clients; c; c = c->next) { c->ismax = False; if(isvisible(c)) { if(c->isfloat) { resize(c, True, TopLeft); continue; } if(n == 1) { c->x = sx; c->y = sy + bh; c->w = sw - 2; c->h = sh - 2 - bh; } else if(i == 0) { c->x = sx; c->y = sy + bh; c->w = mw - 2; c->h = sh - 2 - bh; } else if(h > bh) { c->x = sx + mw; c->y = sy + (i - 1) * h + bh; c->w = w - 2; if(i + 1 == n) c->h = sh - c->y - 2; else c->h = h - 2; } else { /* fallback if h < bh */ c->x = sx + mw; c->y = sy + bh; c->w = w - 2; c->h = sh - 2 - bh; } resize(c, False, TopLeft); i++; } else ban(c); } if(!sel || !isvisible(sel)) sel = getnext(clients); if(sel) focus(sel); else XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); 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 restack() { static unsigned int nwins = 0; static Window *wins = NULL; unsigned int f, fi, m, mi, n; Client *c; XEvent ev; for(f = 0, m = 0, c = clients; c; c = c->next) if(isvisible(c)) { if(c->isfloat || arrange == dofloat) f++; else m++; } if(!(n = 2 * (f + m))) { drawstatus(); return; } if(nwins < n) { nwins = n; wins = erealloc(wins, nwins * sizeof(Window)); } fi = 0; mi = 2 * f; if(sel->isfloat || arrange == dofloat) { wins[fi++] = sel->twin; wins[fi++] = sel->win; } else { wins[mi++] = sel->twin; wins[mi++] = sel->win; } for(c = clients; c; c = c->next) if(isvisible(c) && c != sel) { if(c->isfloat || arrange == dofloat) { wins[fi++] = c->twin; wins[fi++] = c->win; } else { wins[mi++] = c->twin; wins[mi++] = c->win; } } XRestackWindows(dpy, wins, n); drawall(); XSync(dpy, False); while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); } void togglemode(Arg *arg) { arrange = (arrange == dofloat) ? dotile : dofloat; if(sel) arrange(NULL); 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(NULL); } void view(Arg *arg) { unsigned int i; for(i = 0; i < ntags; i++) seltag[i] = False; seltag[arg->i] = True; arrange(NULL); } void zoom(Arg *arg) { Client *c; if(!sel || (arrange != dotile) || sel->isfloat || sel->ismax) return; if(sel == getnext(clients)) { if((c = getnext(sel->next))) sel = c; else return; } /* pop */ sel->prev->next = sel->next; if(sel->next) sel->next->prev = sel->prev; sel->prev = NULL; clients->prev = sel; sel->next = clients; clients = sel; focus(sel); arrange(NULL); }