Harden Panama launcher actions
This commit is contained in:
@@ -88,11 +88,6 @@ else
|
||||
log "Linked Tokyo Night Moon theme → $VICINAE_THEME"
|
||||
fi
|
||||
|
||||
# Install the Panama command collection into Vicinae's XDG data directory.
|
||||
# This is intentionally separate from ~/.config/vicinae: script commands are
|
||||
# user data in Vicinae 0.26, just like custom themes.
|
||||
"$PANAMA_PATH/setup/scripts/link-vicinae-scripts"
|
||||
|
||||
# Panama-native applications live in the user data directory so launchers can
|
||||
# discover them alongside system desktop entries. Keep each authored file in
|
||||
# the repository and expose it with a narrow per-file symlink.
|
||||
|
||||
@@ -11,14 +11,27 @@ vicinae_data_dir="${VICINAE_DATA_DIR:-$HOME/.local/share/vicinae}"
|
||||
source_dir="$panama_path/config/local/share/vicinae/scripts"
|
||||
scripts_dir="$vicinae_data_dir/scripts"
|
||||
target_dir="$scripts_dir/panama"
|
||||
backup_dir="$scripts_dir/panama.pre-panama"
|
||||
backup_root="$vicinae_data_dir/backups"
|
||||
backup_dir="$backup_root/panama.pre-panama"
|
||||
legacy_backup="$scripts_dir/panama.pre-panama"
|
||||
|
||||
[[ -d "$source_dir" ]] || {
|
||||
printf 'Panama command source is missing: %s\n' "$source_dir" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
mkdir -p "$scripts_dir"
|
||||
mkdir -p "$scripts_dir" "$backup_root"
|
||||
|
||||
# Older Panama builds preserved this directory alongside searchable commands.
|
||||
# Move it out before reloading so those scripts cannot appear twice.
|
||||
if [[ -e "$legacy_backup" ]]; then
|
||||
if [[ -e "$backup_dir" ]]; then
|
||||
printf 'Refusing to move %s; backup already exists at %s\n' \
|
||||
"$legacy_backup" "$backup_dir" >&2
|
||||
exit 1
|
||||
fi
|
||||
mv "$legacy_backup" "$backup_dir"
|
||||
fi
|
||||
|
||||
if [[ -L "$target_dir" ]]; then
|
||||
rm "$target_dir"
|
||||
|
||||
Reference in New Issue
Block a user