diff options
Diffstat (limited to 'appl/demo/spree')
| -rw-r--r-- | appl/demo/spree/mkfile | 23 | ||||
| -rwxr-xr-x | appl/demo/spree/spreeclient.sh | 44 |
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' + } +} |
