Import existing LinTunes project
Snapshot of the existing codebase before working through the TASKS.md backlog. Real library data (data/) and the iTunes import fixture (itunes-test-library/) are gitignored. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
34
packaging/install-desktop.sh
Executable file
34
packaging/install-desktop.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
# Install the lintunes .desktop entry and icon for the current user, so GNOME
|
||||
# shows a proper icon and the app can be pinned to the dash.
|
||||
# Re-run after swapping packaging/lintunes.png to update the icon.
|
||||
set -euo pipefail
|
||||
|
||||
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
APPS_DIR="$HOME/.local/share/applications"
|
||||
ICON_DIR="$HOME/.local/share/icons/hicolor/256x256/apps"
|
||||
|
||||
mkdir -p "$APPS_DIR" "$ICON_DIR"
|
||||
cp "$HERE/lintunes.png" "$ICON_DIR/lintunes.png"
|
||||
|
||||
# If lintunes isn't on PATH, point Exec at this checkout's module instead.
|
||||
# We must NOT rely on the working directory: GNOME's dash launches apps via a
|
||||
# systemd scope that does not reliably honor the Path= key, so `python3 -m`
|
||||
# would fail with "No module named 'lintunes'". Put the checkout on PYTHONPATH
|
||||
# and use absolute python so the launch is independent of CWD and PATH.
|
||||
PROJECT_DIR="$(dirname "$HERE")"
|
||||
PY="$(command -v python3 || echo /usr/bin/python3)"
|
||||
if command -v lintunes >/dev/null 2>&1; then
|
||||
cp "$HERE/lintunes.desktop" "$APPS_DIR/lintunes.desktop"
|
||||
else
|
||||
sed -e "s|^Exec=lintunes|Exec=/usr/bin/env PYTHONPATH=$PROJECT_DIR $PY -m lintunes.main|" \
|
||||
-e "s|^Terminal=|Path=$PROJECT_DIR\nTerminal=|" \
|
||||
"$HERE/lintunes.desktop" > "$APPS_DIR/lintunes.desktop"
|
||||
fi
|
||||
|
||||
command -v update-desktop-database >/dev/null 2>&1 && \
|
||||
update-desktop-database "$APPS_DIR" || true
|
||||
command -v gtk-update-icon-cache >/dev/null 2>&1 && \
|
||||
gtk-update-icon-cache -t "$HOME/.local/share/icons/hicolor" 2>/dev/null || true
|
||||
|
||||
echo "Installed. Find 'LinTunes' in the app grid; right-click to pin to dash."
|
||||
Reference in New Issue
Block a user