export QWS_DISPLAY=Transformed:Rot270:0
export QTDIR=/usr
export QPEDIR=/opt/QtPalmtop
export LINES COLUMNS

if [ -n "$LANG" ]
then
	export LANG=C
fi

export RSYNC_RSH=ssh
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/opt/QtPalmtop/bin:/usr/games:$HOME/bin

if [ -n "$PS1" ]
then
	PS1='\[\033[1;31m\]\$\[\033[0m\] '

	ftp() { /usr/bin/ftp -p "$@"; }
	vw () { vi -o `which "$@"`; }
	cw () { cat `which "$@"`; }
	zsame() { for A; do gunzip -c "$A" | same; done; }
	bzsame() { for A; do bunzip2 -c "$A" | same; done; }
	zcat() { for A; do gunzip -c "$A"; done; }
	bzcat() { for A; do bunzip2 -c "$A"; done; }
	tarcat() { for A; do tar tf "$A"; echo; tar x0 "$A"; done; }

	anycat() {
		for A
		do
			if [ -d "$A" ]
			then
				ls "$A"
			else
				case "$A" in
					*.tar.gz) gunzip -c "$A" | tar t; echo; gunzip -c | tar xO ;;
					*.tar.bz2) bunzip2 -c "$A" | tar t; echo; bunzip2 -c | tar xO ;;
					*.tar) tar tf "$A"; echo; tar xO ;;
					*.gz) gunzip -c ;;
					*.bz2) bunzip2 -c ;;
					*) cat ;;
				esac < "$A"
			fi
		done
	}

	anysame() {
		for A
		do
			anycat "$A" | same
		done
	}

	export QOPT="-i -w"
	export QFILES
	qq() {
		local O
		[ "${1:0:1}" = - ] || O="$QOPT"
		[ "$1" = "-" ] && shift
		anycat $QFILES | gr $O "$@"
	}
	q() {
		OPTS=
		while true
		do
			case "$1" in
				-*) OPTS="$OPTS $1" ; shift ;;
				*) break ;;
			esac
		done
		qq $OPTS "$*"
	}

	ls() { /bin/ls $LS_OPTIONS "$@"; }
	cx() { chmod +x "$@"; }
	l() { ls -1 "$@"; }
	ll() { ls -l "$@"; }
	la() { ls -A "$@"; }
	lla() { ls -lA "$@"; }
	pa() { ps af; }
	pp() { ps axf; }
	pt() { pstree; }
	vr() { vi $HOME/.bashrc; }
	vp() { vi $HOME/.bash_profile; }
	vv() { vi ~/.vimrc; }
	t() { date "$@"; }
	v() { anysame "$@"; }
	eb() { exec bash; }
	sm() { setmixer "$@"; }
	m() { mount /mnt/hda; }
	um() { umount /mnt/hda; }
	cn() { QFILES=/mnt/hda/resources/dict/cedict.gb.utf8; LANG=zh-GB; } #?
	tw() { QFILES=/mnt/hda/resources/dict/cedict.b5.utf8; LANG=zh-CN; } #?
	ja() { QFILES=/mnt/hda/resources/dict/edict.utf8; LANG=ja; }
	gb() { QFILES=/mnt/hda/resources/gutenberg/gutindex.a??; }
	R() { anycat "$@" | tr -d $'\r' | fmt -w "$COLUMNS" ; }
	r() { for A; do R /mnt/hda/resources/gutenberg/*/"$A"* | less; done; }
	xl() { cd; ln -sf .gtkrc.light .gtkrc; ln -sf .Xbow .Xdefaults; RM; }
	xd() { cd; ln -sf .gtkrc.dark .gtkrc; ln -sf .Xwob .Xdefaults; RM; }
	cs() { ( cd $HOME/bin; touch -a "$@"; cx "$@"; exec vim -o "$@" ); }
	dmesg() { same /proc/kmsg; }

	c() {
		case $1 in
			'') ;;
			/) cd /;;
			*/) cd $1;;
			*) cd $1*;;
		esac
		ls -C # | same;
	}
	u() { c ..; }
	H() { c ~; }
	M() { c /mnt/hda; }
	U() { c /; }
	b() { c /root/bin; }

	status() {
		local PROG=$1
		local PID=`pidof -- $PROG`
		if [ -n "$PID" ]
		then
			cat /proc/$PID/stat | cut -d\  -f3
		fi
	}

	uv() {
		(
		local F=/tmp/uv
		trap 'rm $F' 2
		if [ $# -gt 0 ]
		then
			for A
			do
				Q
				LANG=ja textedit "$A"
			done
		else
			cat > $F
			Q
			LANG=ja textedit $F
			rm $F
		fi
		)
	}

	nd() {
		ntpdate ${1:-rtr1.snc.schools.net.au}
	}

	ud() {
		( pupdatedb ; updatedb ) &
	}

	p() {
		<$HOME/organization/people gr -i "$@" |tr $'\t' $'\n'
	}

	eval `dircolors`
	export LS_OPTIONS='--color=auto'
	export HISTSIZE=2000

	stty -ixon
	
	if [ ! -f /tmp/.date_sanity ]
	then
		echo WARNING: Is the date sane? >&2
		date >&2
	fi

	export prompt_colour=7
  . splish
fi
