diff options
author | Que Quotion | 2018-03-14 03:00:46 +0900 |
---|---|---|
committer | Que Quotion | 2018-03-14 03:00:46 +0900 |
commit | fe4f7734571331717b4059ce302f7fe5cb6d0087 (patch) | |
tree | dc9906253d05d1f54823695d561f616957d9f117 /epiphany-sync | |
parent | 7b37f21aabb9a195d48abc2f5774d99a3d87fe07 (diff) | |
download | aur-fe4f7734571331717b4059ce302f7fe5cb6d0087.tar.gz |
Include epiphany-sync: Synchronize browser profile to shared memory for faster loading
Diffstat (limited to 'epiphany-sync')
-rw-r--r-- | epiphany-sync | 68 |
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 |