dot

packages and services management
Log | Files | Refs | README

commit 228bed861c5d3d6d242874426b8da017cd094d42
parent 2ae4a2713f11230b4c26005971d502ebe0a259be
Author: Josuah Demangeon <josuah.demangeon@gandi.net>
Date:   Fri, 23 Jun 2017 13:43:50 +0200

cleanup

Diffstat:
MINSTALL | 28+++++++++++++++-------------
Mbin/fun-troll | 36+++++++-----------------------------
Adarkhttpd/start | 3+++
Ddwm/dwm-pertag-6.1.diff | 199-------------------------------------------------------------------------------
Ddwm/dwm-uselessgap-6.1.diff | 54------------------------------------------------------
Mshell/.profile | 7+++----
Atinc/url | 1+
7 files changed, 29 insertions(+), 299 deletions(-)

diff --git a/INSTALL b/INSTALL @@ -24,22 +24,24 @@ case "$1" in ( -g ) [ $# = 1 ] || usage mkdir -p "$GIT" && cd "$GIT" || exit 1 - git clone http://github.com/josuah/www & - git clone http://github.com/josuah/alphabet & - git clone http://github.com/josuah/artisanat & - git clone http://github.com/josuah/build & - git clone http://github.com/josuah/cgr & - git clone http://github.com/josuah/drawille & + git clone http://github.com/josuah/www & + git clone http://github.com/josuah/alphabet & + git clone http://github.com/josuah/artisanat & + git clone http://github.com/josuah/build & + git clone http://github.com/josuah/cgr & + git clone http://github.com/josuah/drawille & git clone http://github.com/josuah/fungus-vs-pathogen & - git clone http://github.com/josuah/hud & - git clone http://github.com/josuah/iode & - git clone http://github.com/josuah/iomenu & - git clone http://github.com/josuah/madown & - git clone http://github.com/josuah/miniwi & - git clone http://github.com/josuah/notes & - git clone http://github.com/josuah/puissance-4 & + git clone http://github.com/josuah/hud & + git clone http://github.com/josuah/iode & + git clone http://github.com/josuah/iomenu & + git clone http://github.com/josuah/madown & + git clone http://github.com/josuah/miniwi & + git clone http://github.com/josuah/notes & + git clone http://github.com/josuah/puissance-4 & wait + + [ -d www ] && ln -s "$GIT/www" "$VAR/www" ;; ( -m ) [ $# = 4 ] || usage diff --git a/bin/fun-troll b/bin/fun-troll @@ -1,9 +1,12 @@ #!/bin/sh -troll() -{ - printf '\033[%d;%dH' "$2" "$1" +size=`stty size` + +hd -o /dev/random | tr -dc '0-9' | fold -w 4 | +sed -r 's/^(..)(..)/\1 \2/' | while read row col +do + printf '\033[%s;%sH' "$row" "$col" printf '\033[10C\v%s' ',--------.' printf '\033[11D\v%s' '/ ,===-=== `.' @@ -13,30 +16,5 @@ troll() printf '\033[14D\v%s' '\ `-.______, |' printf '\033[18D\v%s' ' `-._ ------ |' printf '\033[9D\v%s' '`-.____/' -} - - -main() -{ - size=`stty size` - - hexdump -d /dev/random | - sed 's/[^ ]* *//; s/[0 ]\+/\n/g' | sed '/^$/ d' | - while read num - do - if [ -z "$row" ] - then - [ "$num" -lt "${size#* }" ] && row="$num" - - elif [ -z "$col" ] - then - [ "$num" -lt "${size% *}" ] && col="$num" - else - troll "$row" "$col" - row='' col='' - fi - done -} - -main "$@" +done diff --git a/darkhttpd/start b/darkhttpd/start @@ -0,0 +1,3 @@ +cd "$VAR/www" || exit 1 + +darkhttpd --daemonize diff --git a/dwm/dwm-pertag-6.1.diff b/dwm/dwm-pertag-6.1.diff @@ -1,199 +0,0 @@ -diff --git a/dwm.c b/dwm.c -index 0362114..9ba4ec5 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -111,6 +111,7 @@ typedef struct { - void (*arrange)(Monitor *); - } Layout; - -+typedef struct Pertag Pertag; - struct Monitor { - char ltsymbol[16]; - float mfact; -@@ -130,6 +131,7 @@ struct Monitor { - Monitor *next; - Window barwin; - const Layout *lt[2]; -+ Pertag *pertag; - }; - - typedef struct { -@@ -270,6 +272,16 @@ static Window root; - /* configuration, allows nested code to access above variables */ - #include "config.h" - -+struct Pertag { -+ unsigned int curtag, prevtag; /* current and previous tag */ -+ int nmasters[LENGTH(tags) + 1]; /* number of windows in master area */ -+ float mfacts[LENGTH(tags) + 1]; /* mfacts per tag */ -+ unsigned int sellts[LENGTH(tags) + 1]; /* selected layouts */ -+ const Layout *ltidxs[LENGTH(tags) + 1][2]; /* matrix of tags and layouts indexes */ -+ Bool showbars[LENGTH(tags) + 1]; /* display bar for the current tag */ -+ Client *prevzooms[LENGTH(tags) + 1]; /* store zoom information */ -+}; -+ - /* compile-time check if all tags fit into an unsigned int bit array. */ - struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; }; - -@@ -526,6 +538,7 @@ clientmessage(XEvent *e) - { - XClientMessageEvent *cme = &e->xclient; - Client *c = wintoclient(cme->window); -+ int i; - - if (!c) - return; -@@ -537,6 +550,8 @@ clientmessage(XEvent *e) - if (!ISVISIBLE(c)) { - c->mon->seltags ^= 1; - c->mon->tagset[c->mon->seltags] = c->tags; -+ for(i=0; !(c->tags & 1 << i); i++); -+ view(&(Arg){.ui = 1 << i}); - } - pop(c); - } -@@ -640,6 +655,7 @@ Monitor * - createmon(void) - { - Monitor *m; -+ int i; - - m = ecalloc(1, sizeof(Monitor)); - m->tagset[0] = m->tagset[1] = 1; -@@ -650,6 +666,27 @@ createmon(void) - m->lt[0] = &layouts[0]; - m->lt[1] = &layouts[1 % LENGTH(layouts)]; - strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol); -+ if (!(m->pertag = (Pertag *)calloc(1, sizeof(Pertag)))) -+ die("fatal: could not malloc() %u bytes\n", sizeof(Pertag)); -+ m->pertag->curtag = m->pertag->prevtag = 1; -+ for(i=0; i <= LENGTH(tags); i++) { -+ /* init nmaster */ -+ m->pertag->nmasters[i] = m->nmaster; -+ -+ /* init mfacts */ -+ m->pertag->mfacts[i] = m->mfact; -+ -+ /* init layouts */ -+ m->pertag->ltidxs[i][0] = m->lt[0]; -+ m->pertag->ltidxs[i][1] = m->lt[1]; -+ m->pertag->sellts[i] = m->sellt; -+ -+ /* init showbar */ -+ m->pertag->showbars[i] = m->showbar; -+ -+ /* swap focus and zoomswap*/ -+ m->pertag->prevzooms[i] = NULL; -+ } - return m; - } - -@@ -981,7 +1018,7 @@ grabkeys(void) - void - incnmaster(const Arg *arg) - { -- selmon->nmaster = MAX(selmon->nmaster + arg->i, 0); -+ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag] = MAX(selmon->nmaster + arg->i, 0); - arrange(selmon); - } - -@@ -1517,10 +1554,13 @@ setfullscreen(Client *c, int fullscreen) - void - setlayout(const Arg *arg) - { -- if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) -- selmon->sellt ^= 1; -+ if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt]) { -+ selmon->pertag->sellts[selmon->pertag->curtag] ^= 1; -+ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; -+ } - if (arg && arg->v) -- selmon->lt[selmon->sellt] = (Layout *)arg->v; -+ selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt] = (Layout *)arg->v; -+ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; - strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol); - if (selmon->sel) - arrange(selmon); -@@ -1539,7 +1579,7 @@ setmfact(const Arg *arg) - f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0; - if (f < 0.1 || f > 0.9) - return; -- selmon->mfact = f; -+ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag] = f; - arrange(selmon); - } - -@@ -1692,7 +1732,7 @@ tile(Monitor *m) - void - togglebar(const Arg *arg) - { -- selmon->showbar = !selmon->showbar; -+ selmon->showbar = selmon->pertag->showbars[selmon->pertag->curtag] = !selmon->showbar; - updatebarpos(selmon); - XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh); - arrange(selmon); -@@ -1731,9 +1771,29 @@ void - toggleview(const Arg *arg) - { - unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK); -+ int i; - - if (newtagset) { -+ if (newtagset == ~0) { -+ selmon->pertag->prevtag = selmon->pertag->curtag; -+ selmon->pertag->curtag = 0; -+ } -+ /* test if the user did not select the same tag */ -+ if (!(newtagset & 1 << (selmon->pertag->curtag - 1))) { -+ selmon->pertag->prevtag = selmon->pertag->curtag; -+ for (i=0; !(newtagset & 1 << i); i++) ; -+ selmon->pertag->curtag = i + 1; -+ } - selmon->tagset[selmon->seltags] = newtagset; -+ -+ /* apply settings for this view */ -+ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; -+ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; -+ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; -+ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; -+ selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; -+ if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) -+ togglebar(NULL); - focus(NULL); - arrange(selmon); - } -@@ -2031,11 +2091,33 @@ updatewmhints(Client *c) - void - view(const Arg *arg) - { -+ int i; -+ unsigned int tmptag; -+ - if ((arg->ui & TAGMASK) == selmon->tagset[selmon->seltags]) - return; - selmon->seltags ^= 1; /* toggle sel tagset */ -- if (arg->ui & TAGMASK) -+ if (arg->ui & TAGMASK) { -+ selmon->pertag->prevtag = selmon->pertag->curtag; - selmon->tagset[selmon->seltags] = arg->ui & TAGMASK; -+ if (arg->ui == ~0) -+ selmon->pertag->curtag = 0; -+ else { -+ for (i=0; !(arg->ui & 1 << i); i++) ; -+ selmon->pertag->curtag = i + 1; -+ } -+ } else { -+ tmptag = selmon->pertag->prevtag; -+ selmon->pertag->prevtag = selmon->pertag->curtag; -+ selmon->pertag->curtag = tmptag; -+ } -+ selmon->nmaster = selmon->pertag->nmasters[selmon->pertag->curtag]; -+ selmon->mfact = selmon->pertag->mfacts[selmon->pertag->curtag]; -+ selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag]; -+ selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt]; -+ selmon->lt[selmon->sellt^1] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt^1]; -+ if (selmon->showbar != selmon->pertag->showbars[selmon->pertag->curtag]) -+ togglebar(NULL); - focus(NULL); - arrange(selmon); - } diff --git a/dwm/dwm-uselessgap-6.1.diff b/dwm/dwm-uselessgap-6.1.diff @@ -1,54 +0,0 @@ ---- dwm/dwm.c.orig 2015-11-22 13:26:16.664650238 -0700 -+++ dwm/dwm.c 2015-11-22 13:25:57.407984351 -0700 -@@ -52,8 +52,8 @@ - #define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags])) - #define LENGTH(X) (sizeof X / sizeof X[0]) - #define MOUSEMASK (BUTTONMASK|PointerMotionMask) --#define WIDTH(X) ((X)->w + 2 * (X)->bw) --#define HEIGHT(X) ((X)->h + 2 * (X)->bw) -+#define WIDTH(X) ((X)->w + 2 * (X)->bw + gappx) -+#define HEIGHT(X) ((X)->h + 2 * (X)->bw + gappx) - #define TAGMASK ((1 << LENGTH(tags)) - 1) - #define TEXTW(X) (drw_text(drw, 0, 0, 0, 0, (X), 0) + drw->fonts[0]->h) - -@@ -1293,12 +1293,36 @@ void - resizeclient(Client *c, int x, int y, int w, int h) - { - XWindowChanges wc; -+ unsigned int n; -+ unsigned int gapoffset; -+ unsigned int gapincr; -+ Client *nbc; - -- c->oldx = c->x; c->x = wc.x = x; -- c->oldy = c->y; c->y = wc.y = y; -- c->oldw = c->w; c->w = wc.width = w; -- c->oldh = c->h; c->h = wc.height = h; - wc.border_width = c->bw; -+ -+ /* Get number of clients for the selected monitor */ -+ for (n = 0, nbc = nexttiled(selmon->clients); nbc; nbc = nexttiled(nbc->next), n++); -+ -+ /* Do nothing if layout is floating */ -+ if (c->isfloating || selmon->lt[selmon->sellt]->arrange == NULL) { -+ gapincr = gapoffset = 0; -+ } else { -+ /* Remove border and gap if layout is monocle or only one client */ -+ if (selmon->lt[selmon->sellt]->arrange == monocle || n == 1) { -+ gapoffset = 0; -+ gapincr = -2 * borderpx; -+ wc.border_width = 0; -+ } else { -+ gapoffset = gappx; -+ gapincr = 2 * gappx; -+ } -+ } -+ -+ c->oldx = c->x; c->x = wc.x = x + gapoffset; -+ c->oldy = c->y; c->y = wc.y = y + gapoffset; -+ c->oldw = c->w; c->w = wc.width = w - gapincr; -+ c->oldh = c->h; c->h = wc.height = h - gapincr; -+ - XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); - configure(c); - XSync(dpy, False); diff --git a/shell/.profile b/shell/.profile @@ -1,3 +1,6 @@ +# FreeBSD pkg's plan9port +export PLAN9="/usr/local/plan9" + . "$HOME/etc/profile" export NAME='Josuah Demangeon' @@ -27,7 +30,3 @@ case "$-" in ( *i* ) . "$ETC/shell/alias" ;; esac - -# FreeBSD pkg's plan9port -export PLAN9="/usr/local/plan9" -export PATH="$PATH:$PLAN9/bin" diff --git a/tinc/url b/tinc/url @@ -0,0 +1 @@ +http://tinc-vpn.org/packages/tinc-1.0.31.tar.gz