Files
rMscreens/changescrn
2022-10-20 18:43:41 -04:00

81 lines
2.4 KiB
Bash

#! /bin/bash
#Backup existing screens: changescrn -b
#Change Screen: changescrn -c [SCREEN] -n [PATH TO NEW SCREEN]
#Restore original screens: changescrn -r [SCREEN] (use option 'all' to restore all screens at once)
#[SCREEN] options: batteryempty | lowbattery | overheating | poweroff | rebooting | recovery | splash | starting | suspended
BACKUP="/opt/usr/share/backupscrns"
SOURCE="/usr/share/remarkable"
while getopts ":r :c :b :h" opt; do
case $opt in
r) #Restores original screen
case $2 in
batteryempty | lowbattery | overheating | poweroff | rebooting | recovery | splash | starting | suspended)
echo "restoring $2.png..."
cp $BACKUP/$2.png $SOURCE >&2
echo "Done!"
;;
all)
echo "Restoring all screens..."
cp $BACKUP/*.png $SOURCE
echo "Done!"
;;
*)
echo "Screen Options: batteryempty | lowbattery | overheating | poweroff | rebooting | recovery | splash | starting | suspended | all"
exit 1
;;
esac
;;
c) #Changes screen
case $2 in
batteryempty | lowbattery | overheating | poweroff | rebooting | recovery | splash | starting | suspended)
case $3 in
*)
cp $3 $SOURCE/$2.png
echo "$2 screen replaced"
;;
"")
echo "Usage: changescrn -c [SCREEN] [PATH TO NEW SCREEN]"
echo "[SCREEN] options: batteryempty | lowbattery | overheating | poweroff | rebooting | recovery | splash | starting | suspended"
;;
esac
;;
"")
echo "Usage: changescrn -c [SCREEN] [PATH TO NEW SCREEN]"
echo "[SCREEN] options: batteryempty | lowbattery | overheating | poweroff | rebooting | recovery | splash | starting | suspended"
;;
esac
;;
b) #Creates a backup of original screens
mkdir -p $BACKUP
cp $SOURCE/*.png $BACKUP/
echo "Backup complete"
;;
\?)
echo "Invalid option: -$OPTARG, 'changescrn -h' for usage" >&2
exit 1
;;
*)
echo "'changescrn -h' for useage"
exit 1
;;
"")
echo "Requires argument. 'changescrn -h' for usage" >&2
;;
h)
echo "Change Screen: changescrn -c [SCREEN] [PATH TO NEW SCREEN]"
echo "Backup existing screens: changescrn -b"
echo "Restore original screens: changescrn -r [SCREEN] (use option 'all' to restore all screens at once)"
echo "[SCREEN] options: batteryempty | lowbattery | overheating | poweroff | rebooting | recovery | splash | starting | suspended"
exit 1
;;
esac
done