chiark / gitweb /
dot/shell-rc: Behave usefully in Cygwin elevated sessions.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 8 May 2020 22:45:11 +0000 (23:45 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Wed, 13 May 2020 17:31:10 +0000 (18:31 +0100)
Decorate the prompt as if we're root -- which, really, we basically are
-- and put a `%admin' marker in the window title.

dot/shell-rc

index 9857a82366888f826d44faa1072b4c0eb9cbbd3f..7313cee79e2abcfbe2d444223d9653e0670958ae 100644 (file)
@@ -67,12 +67,26 @@ __mdw_hqual=$__mdw_hqual${SCHROOT_CHROOT_NAME+/$SCHROOT_CHROOT_NAME}
 __mdw_hqual=$__mdw_hqual${CROSS_BUILDENV+/$CROSS_BUILDENV}
 __mdw_set_prompt_hacks () { host=$__mdw_host; dir=""; }
 
+__mdw_system=$(uname -s)
 : ${USER-${LOGNAME-$(id -un)}}
 __mdw_user=$USER
 
 case $(id -u) in
-  0) __mdw_rootp=t ;;
-  *) __mdw_rootp=nil ;;
+  0)
+    __mdw_rootp=t
+    ;;
+  *)
+    case $__mdw_system in
+      CYGWIN_*)
+       case " $(id -G) " in
+         *" 544 "*) __mdw_rootp=t __mdw_user="$__mdw_user%admin" ;;
+         *) __mdw_rootp=nil ;;
+       esac
+       ;;
+      *)
+       __mdw_rootp=nil
+       ;;
+    esac
 esac
 
 __mdw_set_prompt_pieces () {