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:
BIN
packaging/drag-icon.png
Normal file
BIN
packaging/drag-icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
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."
|
||||
BIN
packaging/lintunes-shitty.png
Normal file
BIN
packaging/lintunes-shitty.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.1 KiB |
11
packaging/lintunes.desktop
Normal file
11
packaging/lintunes.desktop
Normal file
@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=LinTunes
|
||||
GenericName=Music Player
|
||||
Comment=iTunes-style music library manager
|
||||
Exec=lintunes %F
|
||||
Icon=lintunes
|
||||
Terminal=false
|
||||
Categories=AudioVideo;Audio;Player;
|
||||
MimeType=audio/mpeg;audio/mp4;audio/x-m4a;audio/flac;audio/x-flac;audio/aac;audio/x-wav;audio/x-aiff;
|
||||
StartupWMClass=lintunes
|
||||
BIN
packaging/lintunes.png
Normal file
BIN
packaging/lintunes.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
Reference in New Issue
Block a user