Merge branch 'master' of http://git.distorted.org.uk/~mdw/profile
[profile] / dot / bashrc
index c39392a..b723d8c 100644 (file)
@@ -1,4 +1,4 @@
-### -*-sh-*-
+### -*-bash-*-
 ###
 ### Bash session things
 
@@ -24,9 +24,15 @@ __mdw_bashrc=done
 if [ -t 0 ]; then
 
   ## Fancy highlighting in some terminals.
+  marker=${STY+'\[\ek\e\\\]'}
   case "$TERM" in
     linux*|screen*|xterm*|vt100*|eterm*)
-      bold="\[$(tput bold)\]" unbold="\[$(tput sgr0)\]" nl="\[\r\]" ;;
+      case "$(tput bold)" in
+       "") bold="\[$(tput md)\]" unbold="\[$(tput me)\]" ;;
+       *) bold="\[$(tput bold)\]" unbold="\[$(tput sgr0)\]" ;;
+      esac
+      nl="\[\r\]"
+      ;;
     *)
       bold='' unbold='' nl='' ;;
   esac
@@ -35,8 +41,8 @@ if [ -t 0 ]; then
   ## highlight when I'm running as some other user.  Highlight when this
   ## isn't the outermost shell on the terminal.
   if (( EUID == 0 )); then
-    left=`echo « | iconv -f utf8 -t //translit`
-    right=`echo » | iconv -f utf8 -t //translit`
+    left=`echo « | iconv -f UTF-8 -t //translit`
+    right=`echo » | iconv -f UTF-8 -t //translit`
   else
     case $USER in
       mdw|mwooding) u="" left="[" right="]" ;;
@@ -57,7 +63,7 @@ if [ -t 0 ]; then
   fi
 
   ## Build the prompt string.
-  PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$right$unbold"
+  PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$marker$right$unbold"
   PS2="$PS1 $bold>$unbold "
 
 fi
@@ -98,7 +104,10 @@ alias cx='chmod a+x'
 alias which="command -v"
 alias rc="rc -l"
 alias ssync="rsync -e ssh"
-alias rootly=$__MDW_ROOTLY
+rootly () {
+  case $# in 0) set -- "${SHELL-/bin/sh}" ;; esac
+  $__MDW_ROOTLY "$@"
+}
 alias r=rootly
 alias re="rootly $EDITOR"
 alias pstree="pstree -hl"