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:
@@ -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
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user