shithub: scripts

Download patch

ref: 3519f1d58ff78407227adb5a3a202d7a4e626a93
parent: 2c27c3c16d0d97e89f2d121f3fa78b9ffe8cd969
author: kitzman <kitzman@disroot.org>
date: Wed Jan 10 13:19:00 EST 2024

added more scripts

diff: cannot open b/bin/rc/rios//null: file does not exist: 'b/bin/rc/rios//null'
--- a/README
+++ b/README
@@ -1,14 +1,20 @@
 scripts:
 
-bin/rc/chatcat			- (stolen) grid chat 
-bin/rc/gemhist			- (stolen) gemnine history
-bin/rc/gfetch			- (stolen) gfetch
-bin/rc/gridup			- (stolen) mount grid stuff
-bin/rc/inferno			- run inferno with unionfs
-bin/rc/librarysrv		- ramfs-backed cfs caching example
-bin/rc/themeswitch		- switch the theme and font
-bin/rc/txcheck			- fd statistics for aux/statusbar
-bin/rc/vtb				- green vt
+bin/rc/chatcat				- (stolen) grid chat 
+bin/rc/gemhist				- (stolen) gemnine history
+bin/rc/gfetch				- (stolen) gfetch
+bin/rc/gridup				- (stolen) mount grid stuff
+bin/rc/inferno				- run inferno with unionfs
+bin/rc/librarysrv			- ramfs-backed cfs caching example
+bin/rc/rios/themeswitch		- switch the theme and font
+bin/rc/txcheck				- fd statistics for aux/statusbar
+bin/rc/vtb					- green vt
+bin/rc/urcpu				- ssh with no vt
+bin/rc/urexport				- export local fs to unix
+bin/rc/urimport				- import unix fs with u9fs
+bin/rc/D2X					- acme decimal-to-hex
+bin/rc/X2D					- acme hex-to-decimal
+bin/rc/Mails				- acme Mail wrapper
 
 lib/lua/net.lua					- p9 wrappers for /net and /mnt/web
 lib/lua/r2pipe.lua				- r2pipe for lua
@@ -37,7 +43,7 @@
 lib/theme/plateau.theme
 lib/theme/white.theme
 
-patches (for themes):
+patches (for themes, compatible with sigrid's patch):
 
 patches/faces.patch
 patches/stats.patch
--- /dev/null
+++ b/bin/rc/D2X
@@ -1,0 +1,8 @@
+#!/bin/rc
+
+decstr=`{cat '/mnt/acme/'^$winid^'/rdsel'}
+hexstr=`{echo 'obase=16; ' $decstr | bc}
+if(! ~ $hexstr *error*)
+	echo -n $hexstr >'/mnt/acme/'^$winid^'/wrsel'
+if not
+	exit 'malformed decimal string'
--- /dev/null
+++ b/bin/rc/Mails
@@ -1,0 +1,5 @@
+#!/bin/rc
+
+outbox=/tmp/outbox
+
+exec Mail -s -o $outbox $*
--- /dev/null
+++ b/bin/rc/X2D
@@ -1,0 +1,8 @@
+#!/bin/rc
+
+hexstr=`{cat '/mnt/acme/'^$winid^'/rdsel' | tr a-z A-Z}
+decstr=`{echo 'ibase=16; ' $hexstr | bc}
+if(! ~ $decstr *error*)
+	echo -n $decstr >'/mnt/acme/'^$winid^'/wrsel'
+if not
+	exit 'malformed hexadecimal string'
--- /dev/null
+++ b/bin/rc/rios/themeswitch
@@ -1,0 +1,68 @@
+#!/bin/rc
+
+themev=/tmp/themerc
+acmedrc=/tmp/acmed.ed
+echo >$themev
+
+if(! ~ $#1 0)
+	themespec=$1
+
+switch($themespec) {
+case green
+	font=/lib/font/bit/uni-vga/u_vga16.font
+	# font=/lib/font/bit/zevv-peep/zevv-peep-14.font
+	# font=/lib/font/bit/spleen/spleen.12.font
+	# font=/lib/font/bit/tamzen/tamzen14.font
+	themepath=$home/lib/theme/green.theme
+case blit
+	font=/lib/font/bit/fixed/unicode.9x18B.font
+	font=/lib/font/bit/fixed/unicode.9x15B.font
+	themepath=$home/lib/theme/blit.theme
+case orange
+	font=/lib/font/bit/zevv-peep/zevv-peep-14.font
+	font=/lib/font/bit/tamzen/tamzen16.font
+	font=/lib/font/bit/fixed/unicode.9x15B.font
+	themepath=$home/lib/theme/orange.theme
+case gruvbox
+	font=/lib/font/bit/uni-vga/u_vga16.font
+	themepath=$home/lib/theme/gruvbox.theme
+case gruvboxl
+	font=/lib/font/bit/uni-vga/u_vga16.font
+	themepath=$home/lib/theme/gruvboxl.theme
+case white
+	font=/lib/font/bit/lucm/unicode.9.font
+	font=/lib/font/bit/lucidasans/typeunicode.7.font
+	# font=/lib/font/bit/pelm/unicode.8.font
+	font=/lib/font/bit/uni-vga/u_vga16.font
+	themepath=$home/lib/theme/white.theme
+case greeng
+	font=/lib/font/bit/zevv-peep/zevv-peep-16.font
+	themepath=$home/lib/theme/greengold.theme
+case nord
+	font=/lib/font/bit/pelm/unicode.8.font
+	themepath=$home/lib/theme/nord.theme
+case purple
+	font=/lib/font/bit/spleen/spleen.16.font
+	themepath=$home/lib/theme/purple.theme
+}
+
+>$acmedrc echo '2
+c
+'^$font^'
+.
+3
+c
+'^$font^'
+.
+w
+q'
+
+echo 'themespec='^$themespec >$themev
+echo 'font='^`{cat /env/font} >>$themev
+echo 'themepath='^`{cat /env/themepath} >>$themev
+
+echo $themev
+
+rm /env/theme^(rc spec v path)
+rm /env/acmed^(rc)
+
--- /dev/null
+++ b/bin/rc/urcpu
@@ -1,0 +1,10 @@
+#!/bin/rc
+
+uhost=$1
+
+if(~ $#uhost 0) {
+	echo 'usage: urcpu host'
+	exit 'usage'
+}
+
+exec ssh $uhost .local/bin/9 rc -il
--- /dev/null
+++ b/bin/rc/urexport
@@ -1,0 +1,57 @@
+#!/bin/rc
+
+uhost=$1
+srvname=$2
+srvrem=$3
+
+if(~ $#uhost 0) {
+	echo 'usage: urexport host [srv [srvrem]]'
+	exit 'usage'
+}
+
+if(! ~ $#srvname 0 && ! test -f /srv/$srvname)
+	exit $srvname does not exist
+if not
+	if(~ $#srvrem 0)
+		srvrem=srvname
+	
+if(~ $#srvname 0) {
+	ipipe='/n/unixhub/fs!'^$uhost^'0'
+	opipe='/n/unixhub/fs!'^$uhost^'1'
+}
+if not {
+	ipipe='/n/unixhub/'^$srvname^'!'^$uhost^'!0'
+	opipe='/n/unixhub/'^$srvname^'!'^$uhost^'!1'
+}
+
+if(! test -f /srv/unixhub) {
+	hubfs -t -s unixhub -m /n/unixhub
+	touch /n/unixhub/ctl
+}
+if not
+	mount -c /srv/unixhub /n/unixhub
+
+if(test -f $ipipe)
+	rm $ipipe
+touch $ipipe
+
+if(test -f $opipe)
+	rm $opipe
+touch $opipe
+
+if(~ $#srvname 0) {
+	exportfs -r / <$ipipe >$opipe &
+}
+if not {
+	mount /srv/$srvname /n/$srvrem
+	exportfs -r /n/$srvrem <$ipipe >$opipe &
+}
+
+if(~ $#srvname 0) {
+	ssh $uhost .local/bin/socat \
+		unix-listen:srv/term.$apid - >$ipipe <$opipe &
+}
+if not {
+	ssh $uhost .local/bin/socat \
+		unix-listen:srv/$srvrem - >$ipipe <$opipe &
+}
--- /dev/null
+++ b/bin/rc/urimport
@@ -1,0 +1,21 @@
+#!/bin/rc
+
+rhost=$1
+ruser=()
+
+if(~ $#rhost 0) {
+	echo 'usage: urimport host'
+	exit 'usage'
+}
+
+ruser=`{echo $rhost | sed 's/^([a-zA-Z0-9]+)@.*/\1/g'}
+if(~ $#ruser 0)
+	ruser=`{cat /dev/user}
+
+if(! test -f /srv/execnet) {
+	execnet /n/execnet
+	srvfs execnet /n/execnet
+}
+mount -b /srv/execnet /net
+
+srv 'exec!ssh '^$rhost^' .local/bin/u9fs -l /dev/null -u '^$ruser^' -a none' $rhost