mirror of
https://github.com/nicoverbruggen/kobo-config.git
synced 2026-03-22 15:50:08 +01:00
- Add Legibility Status - Updated Legibility Toggle - Added copy_mac.sh setup script - Updated README
78 lines
2.7 KiB
Bash
Executable File
78 lines
2.7 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This script copies over all the files if you have a mounted Kobo connected to your Mac.
|
|
#
|
|
|
|
DEST="/Volumes/KOBOeReader"
|
|
|
|
if [ ! -d "$DEST" ]; then
|
|
echo "Error: $DEST is not mounted."
|
|
exit 1
|
|
fi
|
|
|
|
rsync -av --exclude='.git' --exclude='.DS_Store' --exclude='._*' .adds/ "$DEST/.adds/"
|
|
rsync -av --exclude='.git' --exclude='.DS_Store' --exclude='._*' .kobo/ "$DEST/.kobo/"
|
|
if [ -d "$DEST/fonts" ] && [ -z "$(ls -A "$DEST/fonts")" ]; then
|
|
rsync -av --exclude='.git' --exclude='.DS_Store' --exclude='._*' fonts/ "$DEST/fonts/"
|
|
elif [ ! -d "$DEST/fonts" ]; then
|
|
rsync -av --exclude='.git' --exclude='.DS_Store' --exclude='._*' fonts/ "$DEST/fonts/"
|
|
else
|
|
echo "Skipping fonts (folder is not empty)."
|
|
fi
|
|
|
|
CONF="$DEST/.kobo/Kobo/Kobo eReader.conf"
|
|
|
|
# ExcludeSyncFolders controls which folders Kobo's library ignores.
|
|
# Without it, books in the `calibre` folder will also show up in
|
|
# your Kobo library. If you only read via Kobo's built-in reader,
|
|
# that's fine. But if you use KOReader to read Calibre books, you
|
|
# probably want to hide the `calibre` folder so you don't see
|
|
# duplicate entries in Kobo's library.
|
|
|
|
EXCLUDE_WITH_CALIBRE='(calibre|\\.(?!kobo|adobe|calibre).+|([^.][^/]*/)+\\..+)'
|
|
EXCLUDE_WITHOUT_CALIBRE='(\\.(?!kobo|adobe|calibre).+|([^.][^/]*/)+\\..+)'
|
|
|
|
if grep -q "^ExcludeSyncFolders=" "$CONF"; then
|
|
echo "ExcludeSyncFolders is already set."
|
|
else
|
|
printf "Do you use KOReader or Calibre? Set ExcludeSyncFolders? [y/N] "
|
|
read -r REPLY
|
|
if [ "$REPLY" = "y" ] || [ "$REPLY" = "Y" ]; then
|
|
echo ""
|
|
echo "If you hide the calibre folder, books in it won't appear in"
|
|
echo "Kobo's library. This is useful if you read them via KOReader."
|
|
echo "If you prefer all books to show up in Kobo's library, say no."
|
|
printf "Hide the calibre folder from Kobo's library? [y/N] "
|
|
read -r REPLY2
|
|
if [ "$REPLY2" = "y" ] || [ "$REPLY2" = "Y" ]; then
|
|
EXCLUDE_VALUE="$EXCLUDE_WITH_CALIBRE"
|
|
else
|
|
EXCLUDE_VALUE="$EXCLUDE_WITHOUT_CALIBRE"
|
|
fi
|
|
if grep -q "^\[FeatureSettings\]" "$CONF"; then
|
|
sed -i '' "/^\[FeatureSettings\]/a\\
|
|
ExcludeSyncFolders=$EXCLUDE_VALUE
|
|
" "$CONF"
|
|
else
|
|
printf '\n[FeatureSettings]\nExcludeSyncFolders=%s\n' "$EXCLUDE_VALUE" >> "$CONF"
|
|
fi
|
|
echo "ExcludeSyncFolders has been added."
|
|
NEEDS_REBOOT=1
|
|
else
|
|
echo "Skipping ExcludeSyncFolders."
|
|
fi
|
|
fi
|
|
|
|
echo "Removing resource fork files..."
|
|
dot_clean "$DEST"
|
|
|
|
echo "Ejecting Kobo..."
|
|
diskutil eject "$DEST"
|
|
|
|
echo ""
|
|
echo "Done. Kobo has been ejected."
|
|
if [ "$NEEDS_REBOOT" = "1" ]; then
|
|
echo ""
|
|
echo "IMPORTANT: ExcludeSyncFolders was added. Reboot your Kobo to apply this setting!"
|
|
fi
|