summaryrefslogtreecommitdiff
path: root/appl/demo/spree
diff options
context:
space:
mode:
Diffstat (limited to 'appl/demo/spree')
-rw-r--r--appl/demo/spree/mkfile23
-rwxr-xr-xappl/demo/spree/spreeclient.sh44
2 files changed, 67 insertions, 0 deletions
diff --git a/appl/demo/spree/mkfile b/appl/demo/spree/mkfile
new file mode 100644
index 00000000..2574d339
--- /dev/null
+++ b/appl/demo/spree/mkfile
@@ -0,0 +1,23 @@
+<../../../mkconfig
+
+TARG=\
+
+SHTARG=\
+ spreeclient.sh\
+
+MODULES=\
+
+SYSMODULES= \
+
+DISBIN=$ROOT/dis/demo/spree
+
+<$ROOT/mkfiles/mkdis
+
+SHFILES=${SHTARG:%.sh=$DISBIN/%}
+all:V: $SHTARG
+install:V: $SHFILES
+%.install:V: $DISBIN/%
+%.installall:V: $DISBIN/%
+
+$DISBIN/%: %.sh
+ cp $stem.sh $target && chmod a+rx $target
diff --git a/appl/demo/spree/spreeclient.sh b/appl/demo/spree/spreeclient.sh
new file mode 100755
index 00000000..0dd9aa17
--- /dev/null
+++ b/appl/demo/spree/spreeclient.sh
@@ -0,0 +1,44 @@
+#!/dis/sh
+load std
+autoload=std
+ndb/cs
+
+fn ck {
+ or {$*} {
+ echo spreeclient: exiting >[1=2]
+ raise error
+ }
+}
+user="{cat /dev/user}
+
+fn notice {
+ or {~ $#* 1} {
+ echo usage: notice arg >[1=2]
+ raise usage
+ }
+ t := $*
+ run /lib/sh/win
+ tkwin Notice {
+ x text .t -yscrollcommand {.s set}
+ x scrollbar .s -orient vertical -command {.t yview}
+ x pack .s -side left -fill y
+ x pack .t -side top -fill both -expand 1
+ x .t insert 1.0 ${tkquote $t}
+ tk onscreen $wid
+ chan c; {} ${recv c}
+ }
+}
+
+ck mount -A 'tcp!$registry!registry' /mnt/registry
+ck /dis/grid/remotelogon wm/wm {
+ k = /usr/$user/keyring/default
+ addrs=`{ndb/regquery resource spree auth.signer `{getpk -s $k}}
+ if{~ $#addrs 0} {
+ notice 'No spree servers found'
+ }
+ if {mount ${hd $addrs} /n/remote} {
+ spree/joinsession 0
+ } {
+ notice 'Cannot access spree server'
+ }
+}