#!/home/user/bin/che
# d4 script for running in user's directories

LOCAL;DSH;REPEAT MAIN_MNU;QUIT

Z<-LOCAL
|Add user specific stuff here
D4LIB_PATH<-"/home/user/d4/xq/" #ifndef "D4LIB_PATH"
$HOME<-#cd
XRESIZE
0 r #cmd"setterm -blank 0"
#cd"/home/user/d4/xq"
0 r #copy"xqsh.afn"
STARTUP
|Acer. Duplicate DEL as CTRL-X
$KB<-#av i256
$KB[24]<-#av 127
D4.P<-"$ "
Z<-ADD_ALIAS ACER.LST
0 r #cd $HOME
Z<-0rDO"xtitle xqsh"

"START_WEBSERVER"
apachectl -k start
vnet http://127.0.0.1/~user/index.shtml

"ACER.LST"
readpdf|#cmd"/opt/Adobe/Reader8/Reader/intellinux/bin/acroread ", ARGS, " &"
add|WW.ED"/home/user/data/acer.lst Z"
btzone|#cmd"firefox https://www.btopenzone.com:8443/en/home &"
bwt|(#av 27),"[30;49m"
hzget|HZ<-HZ_LINE ARGS; HZ
facebook|#cmd"firefox http://www.facebook.com &"
myhost|#cmd"<echo $HOSTNAME"
myhome|#cmd"<echo $HOME"
mysite|#cmd"firefox file:///home/user/public_html/index.shtml &"
vnet|#cmd"firefox ", ARGS, " &"
xc|#cmd"Terminal --hide-toolbars -x xqsh v=2 x=script &"
xcc|#cmd"Terminal --hide-toolbars -x xqsh S=1024 v=2 x=script &"
gokgs|#cmd "javaws http://files.gokgs.com/javaBin/cgoban.jnlp &"
google|#cmd "firefox http://google.com/search?q=",(URL_ENCODE ARGS), " &"
mail|#cmd "firefox http://mail.yahoo.com?intl.=us &"
phone|DO "< grep ",(UPALPHA [#av ARGS])," -h /home/user/data/*"
kpaint|#cmd"kolourpaint ",ARGS, " &"
njas|#cmd"firefox http://www.research.att.com/~njas/sequences/index.html?q=", (URL_ENCODE ARGS), " &"
wiki|#cmd "firefox http://en.wikipedia.org/wiki/Special:Search?search=+", (URL_ENCODE ARGS), " &"

Z<-XRESIZE;SANE;K
|Resize screen according to perceived dimensions.
SANE<-24 80 & Z<-#sstomat #cmd"< stty -a" & Z<-#sstomat ";",Z[0]
IF 1 <= rK<-(c/y "rows"    #find Z)/:Z; SANE[0]<-#fi (K e "0123456789")/K
IF 1 <= rK<-(c/y "columns" #find Z)/:Z; SANE[1]<-#fi (K e "0123456789")/K
Z<- #screen SANE

Z<-CHARS URL_ENCODE STR;J;U;X
|Url encode by changing characters to %xx
CHARS<-" .*#!()[]<>" #ifndef "CHARS"
J<-(U<-STR e CHARS)/irSTR
Z<-(1+2*U)/STR
X<-,"%","0123456789ABCDEF"[16 16 n #av STR[J]]
J<-J+2*irJ
Z[,J #outer+ i3 ]<-X

Z<-HZ_LINE STR
|Most primitive console input mode.
|Capture chinese characters + paste
0 r TTY_SET 0
Z<-$VA[0]
0 r TTY_SET 1

Z<-HZ_PASTE STR;T
|Get paste item
0 r TTY_SET 0
Z<-""
WHILE 0 < rT<-$VA[0 0 256]
BREAKIF _ESC e T
Z<-Z,T
WEND
0 r TTY_SET 1
Z[(Z=_LF)/irZ]<-_CR
