#!/bin/sh # # edit-and-backup # # Wrapper for Tridactyl's $editorcmd, which saves a backup before returning # to Tridactyl. # # © 2021–5 martin f. krafft # Released under the Apache Licence 2.0. # set -eu BACKUPDIR=${TMPDIR:-/tmp}/tridactyl-backups mkdir --parent $BACKUPDIR FILENAME="$1" EDITOR="${2:-editor}" URL="${FILENAME#*_}" URL="${URL%%_*}" if [ -t 0 ]; then echo -n "\033]0;Tridactyl: editing input field on $URL using ${EDITOR%% *}\007" fi set -x eval "$EDITOR" "$FILENAME" notify() { local summary summary="$1" shift if command -v notify-send >/dev/null; then notify-send "$summary" "$@" else echo >&2 "$summary" "$@" fi } if [ -s "$FILENAME" ]; then BACKUPFILE="$(mktemp --tmpdir="$BACKUPDIR" $URL-$(date +%F-%H%M.%N)-XXXXXXXX.txt)" cat "$FILENAME" >"$BACKUPFILE" notify "Tridactyl backup saved" "Saved a backup of your edits to $BACKUPFILE" else notify "Nothing to be saved" fi exit 0