Use 256-colour urxvt if available.
[profile.git] / .profile.d / ps1.bashrc
index 0667d0f..7bd93b7 100644 (file)
@@ -200,27 +200,28 @@ function __ps1_colon() {
 }
 
 function __ps1_short() {
+  local pwd=${PWD/#$HOME/\~}
   local dirtrim=${PROMPT_DIRTRIM//[^0-9]/}
 
   if [ "${dirtrim:0:1}" = "0" ]; then
-    echo "$PWD"
+    echo "$pwd"
     return $1
   fi
 
   dirtrim=${dirtrim##0}
   if [ -z "$dirtrim" ]; then
-    local prompt="$USER$HOSTNAME$PWD"
+    local prompt="$USER$HOSTNAME$pwd"
     local width=$(((COLUMNS*2)/3))
     if [ ${#prompt} -le ${width:-53} ]; then
-      echo "$PWD"
+      echo "$pwd"
       return $1
     else
       dirtrim=1
     fi
   fi
 
-  local dirname=${PWD##*/}
-  local basename=${PWD%/$dirname}
+  local dirname=${pwd##*/}
+  local basename=${pwd%/$dirname}
   local reversed=
   local component
   for component in ${basename//\// }; do
@@ -229,15 +230,16 @@ function __ps1_short() {
   local n=1
   local short=
   for component in $reversed; do
+    [ $n = 1 -a "$PWD" = "$pwd" ] || short="/$short"
     if [ $n -ge $dirtrim ]; then
-      short="/${component:0:1}$short"
+      short="${component:0:1}$short"
     else
-      short="/$component$short"
+      short="$component$short"
     fi
     n=$((n+1))
   done
 
-  echo "$short/$dirname"
+  echo "$short$dirname"
   return $1
 }