summaryrefslogtreecommitdiffstats
path: root/files/desktop-directories-liveusb-rw
diff options
context:
space:
mode:
Diffstat (limited to 'files/desktop-directories-liveusb-rw')
-rwxr-xr-xfiles/desktop-directories-liveusb-rw37
1 files changed, 37 insertions, 0 deletions
diff --git a/files/desktop-directories-liveusb-rw b/files/desktop-directories-liveusb-rw
new file mode 100755
index 0000000..3fd7635
--- /dev/null
+++ b/files/desktop-directories-liveusb-rw
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+LIVEUSB_LOCK="$HOME/.liveusb-folders"
+LIVEUSB_ROOT=/live/media
+[ -e "$LIVEUSB_ROOT/My Documents" ] && LIVEUSB_ALA_WINDOWS=1
+
+[ -e $LIVEUSB_LOCK ] && exit
+
+while pidof -x xdg-user-dirs-update; do
+ [ "$SECONDS" -le 60 ] || return
+ sleep 1
+done
+
+function create_link() {
+ NAME=$1
+ SRC=$2
+ [ -z "$SRC" ] && SRC=$($NAME)
+ XDG_DIR=$(xdg-user-dir $NAME)
+ LIVEUSB_DIR="$LIVEUSB_ROOT/$SRC"
+ mkdir -p "$LIVEUSB_DIR"
+ mv $XDG_DIR/{.??,}* "$LIVEUSB_DIR"
+ rmdir $XDG_DIR && ln -sf "$LIVEUSB_DIR" "$XDG_DIR"
+}
+
+if [ -n "$LIVEUSB_ALA_WINDOWS" ]; then
+ create_link "DOCUMENTS" "My Documents"
+ create_link "DOWNLOAD" "My Documents/My Downloads"
+ create_link "MUSIC" "My Documents/My Music"
+ create_link "PICTURES" "My Documents/My Images"
+ create_link "VIDEOS" "My Documents/My Video"
+else
+ for d in DOWNLOAD DOCUMENTS MUSIC PICTURES VIDEOS; do
+ create_link $d $(echo $d | tr A-Z a-z)
+ done
+fi
+
+touch $LIVEUSB_LOCK