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
This commit is contained in:
2026-08-19 12:11:12 +02:00
parent e2fffefcf2
commit 06d12b0ec0
2 changed files with 34 additions and 2 deletions
+23
View File
@@ -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/--<percorso>--/<timestamp>_<uuid>.jsonl`.
+11 -2
View File
@@ -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" <<EOF
@@ -23,7 +31,7 @@ Type=Application
Name=Pi Session Launcher
GenericName=Riprendi sessioni di Pi Agent
Comment=Elenca le sessioni di Pi Agent e le riprende nella loro cartella
Exec=python3 $APP
Exec=$EXEC
Icon=utilities-terminal
Terminal=false
Categories=Development;
@@ -31,5 +39,6 @@ Keywords=pi;agent;session;resume;
EOF
echo "✓ Installato: $DESKTOP"
echo " Eseguibile: $EXEC"
echo " Cerca 'Pi Session Launcher' nel menu applicazioni KDE."
echo " (Per rimuovere: $0 --uninstall)"