diff options
Diffstat (limited to 'dis/demo/spree/spreeclient')
| -rwxr-xr-x | dis/demo/spree/spreeclient | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/dis/demo/spree/spreeclient b/dis/demo/spree/spreeclient new file mode 100755 index 00000000..0dd9aa17 --- /dev/null +++ b/dis/demo/spree/spreeclient @@ -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' + } +} |
