# --- Add elements to a path string ---
__mdw_addto () {
- local var=$1 val dir=$2 new=""
+ local var=$1 val dir=$2 new="" change=nil
eval "val=\$$var"
shift 2
for i in "$@"; do
[ -d $i ] || continue
case "X$val" in
X)
- val=$i
+ val=$i change=t
continue
;;
X$i)
val=${val%:$i}
;;
esac
- new=$new:$i
+ new=$new:$i change=t
done
case $dir in
l) val=${new#:}:$val;;
r) val=$val$new;;
esac
- export $var=$val
+ case $change in t) export $var="$val" ;; esac
}
# --- Set the path variable ---
# --- Start an ssh authentication agent ---
+if [ "$DBUS_SESSION_BUS_ADDRESS" ] &&
+ dbus-send --session --print-reply --dest=org.freedesktop.DBus \
+ / org.freedesktop.DBus.GetNameOwner string:org.gnome.keyring \
+ >/dev/null 2>/dev/null &&
+ stuff=$(gnome-keyring-daemon -s 2>/dev/null)
+then
+ eval "$stuff"
+ export GNOME_KEYRING_CONTROL SSH_AUTH_SOCK
+fi
+
eval `start-ssh-agent -b`
if [ -z "$__mdw_bashrc" ] && [ "$__mdw_force_secure_session" = "yes" ] ||