#!/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' } }