From 06d12b0ec0fbc11d802f04e74cccadcf7e5a11e1 Mon Sep 17 00:00:00 2001 From: enne2 Date: Wed, 19 Aug 2026 12:11:12 +0200 Subject: [PATCH] Aggiunta rinomina sessione (F2), eseguibile portabile PyInstaller, repo pubblico su Gitea - rinomina: append session_info (ultima entry vince, come pi); nome vuoto = cancella - install.sh preferisce dist/pi-session-launcher se presente - README: build PyInstaller e URL repo --- README.md | 23 +++++++++++++++++++++++ install.sh | 13 +++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0b045b4..54b80b7 100644 --- a/README.md +++ b/README.md @@ -31,12 +31,35 @@ python3 pi-session-launcher.py |---|---| | Selezionare una sessione | clic sulla riga | | **Riprendere** la sessione | doppio clic, Invio o pulsante **Riprendi sessione** | +| **Rinominare** la sessione | pulsante **Rinomina** o `F2` (nome vuoto = cancella) | | Cercare | digitare nel campo di ricerca (filtra per messaggio e cartella) | | Aprire la cartella della sessione | pulsante **Apri cartella** (Dolphin) | | Aggiornare l'elenco | pulsante **Aggiorna** o `Ctrl+R` | Le sessioni **con nome** (`/name` in pi) sono mostrate in **grassetto**. +## Eseguibile portabile + +Build dell'eseguibile singolo (PyInstaller, non richiede `python3-dev`): + +```bash +python3 -m pip install --user --break-system-packages pyinstaller +python3 -m PyInstaller --onefile --windowed --name pi-session-launcher \ + --collect-all gi --collect-all cairo \ + --hidden-import gi.repository.Gtk --hidden-import gi.repository.Gdk \ + --hidden-import gi.repository.Gio --hidden-import gi.repository.GLib \ + --hidden-import gi.repository.Pango \ + pi-session-launcher.py +./dist/pi-session-launcher +``` + +> Nota: Nuitka richiede gli header `python3-dev` (non installabili senza sudo); +> PyInstaller è la via raccomandata dalla documentazione PyGObject per app GTK. + +## Repository + +Mirror pubblico su Gitea: https://git.enne2.net/enne2/pi-session-launcher + ## Come funziona - Ogni sessione è un file JSONL in `~/.pi/agent/sessions/----/_.jsonl`. diff --git a/install.sh b/install.sh index 2d76486..644b9c5 100755 --- a/install.sh +++ b/install.sh @@ -5,8 +5,16 @@ set -euo pipefail DIR="$(cd "$(dirname "$0")" && pwd)" APP="$DIR/pi-session-launcher.py" +BIN="$DIR/dist/pi-session-launcher" DESKTOP="$HOME/.local/share/applications/pi-session-launcher.desktop" +# usa l'eseguibile portabile se presente, altrimenti lo script python +if [[ -x "$BIN" ]]; then + EXEC="$BIN" +else + EXEC="$APP" +fi + # sintassi: ./install.sh [--uninstall] if [[ "${1:-}" == "--uninstall" ]]; then rm -f "$DESKTOP" @@ -14,7 +22,7 @@ if [[ "${1:-}" == "--uninstall" ]]; then exit 0 fi -chmod +x "$APP" +chmod +x "$APP" 2>/dev/null || true mkdir -p "$(dirname "$DESKTOP")" cat > "$DESKTOP" <