all repos — dotfiles @ bcf0ef4bc5983dda36a718bc925c3be3241ffbb8

random configuration files

add plumbing rules
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmDIVGQACgkQO3+8IhRO
Y5jtIg//XL1Kk3cyMxXODU6O4VehwmYlkR3CPOh/UCmVFbi0RAupzzXlIrw5KWHV
5/ZAZSYJK+G0iDsJIuEokj78nUvvVOqr8TsOzZY9JZ57EhUtjx9AuyQJxuq+LAW8
KWQxtodD/HIXzUe1Jyarb/t/96bnn0/WJcrWKjgmmpzmX4JGzCPAlpEhD2m6br6x
2PPkgozgB81IRlDP973AbBthNxbXhf+YPoK0k1ZuobGDkOSQeRGr4gUyYEK7n2Sz
A5AAuf1PMQ53gBgdK03uOdAoAgiZsT3R3Hx2GzLr0MFcPcY2qKnw7VT/FBqye3Xg
/57GUvJo50uHeOrhZfZQSwY1txnQkiduJCAtHQ8+L8FTnXMuc6lFLlLQ/HhfIZqF
D6HM4W9+qUW3A9hkJBQmGXoKfjdk6WUlg4k8YuB/cP9KpiphnGLmDwzYbOhulFx+
zcEsG9ZUWgb5COU/d1YSlGT077iCMXuQyk37g11F4TyXyxIlpVMU6BGsRTzvgweO
7/vv79FLyHp35nnOxuTg2MSaFcBb6NMHHqENvps6ESlolHMc0A5igSSWcRMg9hPT
leTMEoy+6M+/b9eCbTreF3mpjoLTlpMK22w0Yk/NnhQH6L1Pl7F2KzzQgk6skomU
/lzd1U1Rz/EklQLcuBDkjtObhcywEAp8v4fkuTMvEpDu2AaFOsw=
=oH0p
-----END PGP SIGNATURE-----
commit

bcf0ef4bc5983dda36a718bc925c3be3241ffbb8

parent

394616278ce1b486b270189a1f698b45aad41f39

1 files changed, 145 insertions(+), 0 deletions(-)

jump to
A plumbing

@@ -0,0 +1,145 @@

+# these are generally in order from most specific to least, +# since first rule that fires wins. + +include fileaddr + +# declarations of ports without rules +plumb to seemail +plumb to showmail + +# relative files as file: urls get made into absolute paths +type is text +data matches 'file:([.a-zA-Z¡-￿0-9_\-]([.a-zA-Z¡-￿0-9_/\-]*[a-zA-Z¡-￿0-9_/\-]))?' +arg isfile $1 +data set file://$file +plumb to web +plumb start web $data + +# urls go to web browser +type is text +data matches '(https?|ftp|file|gopher|mailto|news|nntp|telnet|wais|prospero)://[a-zA-Z0-9_@\-]+([.:][a-zA-Z0-9_@\-]+)*/?[a-zA-Z0-9_?,%#~&/\-+=]+([:.][a-zA-Z0-9_?,%#~&/\-+=]+)*' +plumb to web +plumb start web $0 + +# doc and rtf files go to wdoc2txt +type is text +data matches '[a-zA-Z¡-￿0-9_\-./ ]+' +data matches '([a-zA-Z¡-￿0-9_\-./ ]+)\.(doc|rtf)' +arg isfile $0 +plumb to msword +plumb start wdoc2txt $file + +# start rule for microsoft word documents without .doc suffix +type is text +dst is msword +plumb to msword +plumb start wdoc2txt $file + +# image files go to page +type is text +data matches '[a-zA-Z¡-￿0-9_\-./@ ]+' +data matches '([a-zA-Z¡-￿0-9_\-./@ ]+)\.(jpe?g|JPE?G|gif|GIF|tiff?|TIFF?|ppm|bit|png|PNG)' +arg isfile $0 +plumb to image +plumb start qiv $file + +# music/video files go to mpv +type is text +data matches '[a-zA-Z¡-￿0-9_\-./@ ]+' +data matches '([a-zA-Z¡-￿0-9_\-./@ ]+)\.(mp3|MP3|wav|WAV|ogg|OGG|opus|OPUS|avi|AVI|mp4|MP4|mkv|MKV)' +arg isfile $0 +plumb to mpv +plumb start mpv $file + +# postscript/pdf/dvi go to page but not over the a plumb port +# the port is here for reference but is unused +type is text +data matches '[a-zA-Z¡-￿0-9_\-./@ ]+' +data matches '([a-zA-Z¡-￿0-9_\-./@ ]+)\.(ps|PS|eps|EPS|pdf|PDF|dvi|DVI)' +arg isfile $0 +plumb to postscript +plumb start zathura $file + +# open office - s[xt][cdigmw], doc, xls, ppt +data matches '[a-zA-Z¡-￿0-9_\-./@ ]+' +data matches '([a-zA-Z¡-￿0-9_\-./@ ]+)\.([Ss][XxTt][CcDdIiGgMmWw]|[Dd][Oo][Cc]|[Xx][Ll][Ss]|[Pp][Pp][Tt])' +arg isfile $0 +plumb to libreoffice +plumb start libreoffice $file + +# existing files tagged by line number:columnumber or linenumber.columnumber, twice, go to editor +type is text +data matches '([.a-zA-Z¡-￿0-9_/\-@]*[a-zA-Z¡-￿0-9_/\- ])':$twocolonaddr,$twocolonaddr +arg isfile $1 +data set $file +attr add addr=$2-#0+#$3-#1,$4-#0+#$5-#1 +plumb to edit +plumb client $editor + +# existing files tagged by line number:columnumber or linenumber.columnumber, twice, go to editor +type is text +data matches '([.a-zA-Z¡-￿0-9_/\-@]*[a-zA-Z¡-￿0-9_/\- ])':$twocolonaddr +arg isfile $1 +data set $file +attr add addr=$2-#0+#$3-#1 +plumb to edit +plumb client $editor + +# existing files, possibly tagged by line number, go to editor +type is text +data matches '([.a-zA-Z¡-￿0-9_/\-@]*[a-zA-Z¡-￿0-9_/\- ])('$addr')?' +arg isfile $1 +data set $file +attr add addr=$3 +plumb to edit +plumb client $editor + +# .h files are looked up in /usr/include and passed to edit +type is text +data matches '([a-zA-Z¡-￿0-9/_\- ]+\.h)('$addr')?' +arg isfile /usr/include/$1 +data set $file +attr add addr=$3 +plumb to edit +plumb client $editor + +# .h files are looked up in /usr/local/include and passed to edit +type is text +data matches '([a-zA-Z¡-￿0-9/_\- ]+\.h)('$addr')?' +arg isfile /usr/local/include/$1 +data set $file +attr add addr=$3 +plumb to edit +plumb client $editor + +# .h files are looked up in $plan9/include and passed to edit +type is text +data matches '([a-zA-Z¡-￿0-9/_\- ]+\.h)('$addr')?' +arg isfile $plan9/include/$1 +data set $file +attr add addr=$3 +plumb to edit +plumb client $editor + +# .m files are looked up in /usr/inferno/module and passed to edit +type is text +data matches '([a-zA-Z¡-￿0-9/_\- ]+\.m)('$addr')?' +arg isfile /usr/inferno/module/$1 +data set $file +attr add addr=$3 +plumb to edit +plumb client window $editor + +# email addresses get a new mail window +type is text +data matches '[a-zA-Z0-9_+.\-]+@[a-zA-Z0-9_+.\-]*' +plumb to sendmail +plumb start /home/nilix/src/zenUtils/muttwrapper.sh $0 +# plumb start window rc -c '''echo % mail '''$0'; mail '$0 + +# man index entries are synthesized +type is text +data matches '([a-zA-Z¡-￿0-9_\-./]+)\(([1-8])\)' +plumb start rc -c 'man '$2' '$1' >[2=1] | nobs | plumb -i -d edit -a ''action=showdata filename=/man/'$1'('$2')''' + +