summarylogtreecommitdiffstats
path: root/epiphany-sync
diff options
context:
space:
mode:
authorQue Quotion2018-03-14 03:00:46 +0900
committerQue Quotion2018-03-14 03:00:46 +0900
commitfe4f7734571331717b4059ce302f7fe5cb6d0087 (patch)
treedc9906253d05d1f54823695d561f616957d9f117 /epiphany-sync
parent7b37f21aabb9a195d48abc2f5774d99a3d87fe07 (diff)
downloadaur-fe4f7734571331717b4059ce302f7fe5cb6d0087.tar.gz
Include epiphany-sync: Synchronize browser profile to shared memory for faster loading
Diffstat (limited to 'epiphany-sync')
-rw-r--r--epiphany-sync68
1 files changed, 68 insertions, 0 deletions
diff --git a/epiphany-sync b/epiphany-sync
new file mode 100644
index 000000000000..f3e32d83291f
--- /dev/null
+++ b/epiphany-sync
@@ -0,0 +1,68 @@
+#!/bin/bash
+STATIC=main
+LINK=epiphany
+VOLATILE=/dev/shm/$USER/epiphany
+PROFDIR=~/.config/
+
+usage()
+{
+ echo "Usage: epiphany-sync [-dh] [-p profile-basename]"
+}
+
+longhelp()
+{
+ usage
+ cat <<EOF
+
+This program syncs your Epiphany profile to a ramdisk (/dev/shm) and back.
+
+-h prints this help message
+-d prints the default profile directory
+-p [dir] set the profile basename
+-r restores on-disk profile (use only before uninstalling epiphany-sync)
+EOF
+exit 0
+}
+
+while getopts dhp: options
+do
+case $options in
+ d) echo "default profile directory is "$PROFDIR"$LINK"
+ exit 0;;
+ h) longhelp;;
+ p) LINK="$OPTARG";;
+ r) mv "$VOLATILE" "$PROFDIR$LINK-copy"
+ mv "$PROFDIR$LINK"{,-trash}
+ mv "$PROFDIR$STATIC"{,-trash}
+ mv "$PROFDIR$LINK"{-copy,}
+ rm -rf "$PROFDIR"{"$LINK","$STATIC"}-trash;;
+ ?) usage
+ exit 0;;
+ esac
+done
+
+if [ -z "$LINK" ]; then
+ echo "Profile directory not set. Try the -p option" > /dev/stderr
+ exit 1
+fi
+
+[[ -r $VOLATILE ]] || install -dm700 $VOLATILE
+
+cd "$PROFDIR"
+
+if [ ! -e "$LINK" ]; then
+ echo "$PROFDIR$LINK does not exist" > /dev/stderr
+ exit 1
+fi
+
+if [[ `readlink $LINK` != $VOLATILE ]]; then
+ mv $LINK $STATIC
+ ln -s $VOLATILE $LINK
+fi
+
+if [[ -e $LINK/.unpacked ]]; then
+ rsync -av --delete --exclude .unpacked ./$LINK/ ./$STATIC/
+else
+ rsync -av ./$STATIC/ ./$LINK/
+ touch $LINK/.unpacked
+fi