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 |
|
| Selezionare una sessione | clic sulla riga |
|
||||||
| **Riprendere** la sessione | doppio clic, Invio o pulsante **Riprendi sessione** |
|
| **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) |
|
| Cercare | digitare nel campo di ricerca (filtra per messaggio e cartella) |
|
||||||
| Aprire la cartella della sessione | pulsante **Apri cartella** (Dolphin) |
|
| Aprire la cartella della sessione | pulsante **Apri cartella** (Dolphin) |
|
||||||
| Aggiornare l'elenco | pulsante **Aggiorna** o `Ctrl+R` |
|
| Aggiornare l'elenco | pulsante **Aggiorna** o `Ctrl+R` |
|
||||||
|
|
||||||
Le sessioni **con nome** (`/name` in pi) sono mostrate in **grassetto**.
|
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
|
## Come funziona
|
||||||
|
|
||||||
- Ogni sessione è un file JSONL in `~/.pi/agent/sessions/--<percorso>--/<timestamp>_<uuid>.jsonl`.
|
- 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)"
|
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
APP="$DIR/pi-session-launcher.py"
|
APP="$DIR/pi-session-launcher.py"
|
||||||
|
BIN="$DIR/dist/pi-session-launcher"
|
||||||
DESKTOP="$HOME/.local/share/applications/pi-session-launcher.desktop"
|
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]
|
# sintassi: ./install.sh [--uninstall]
|
||||||
if [[ "${1:-}" == "--uninstall" ]]; then
|
if [[ "${1:-}" == "--uninstall" ]]; then
|
||||||
rm -f "$DESKTOP"
|
rm -f "$DESKTOP"
|
||||||
@@ -14,7 +22,7 @@ if [[ "${1:-}" == "--uninstall" ]]; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
chmod +x "$APP"
|
chmod +x "$APP" 2>/dev/null || true
|
||||||
|
|
||||||
mkdir -p "$(dirname "$DESKTOP")"
|
mkdir -p "$(dirname "$DESKTOP")"
|
||||||
cat > "$DESKTOP" <<EOF
|
cat > "$DESKTOP" <<EOF
|
||||||
@@ -23,7 +31,7 @@ Type=Application
|
|||||||
Name=Pi Session Launcher
|
Name=Pi Session Launcher
|
||||||
GenericName=Riprendi sessioni di Pi Agent
|
GenericName=Riprendi sessioni di Pi Agent
|
||||||
Comment=Elenca le sessioni di Pi Agent e le riprende nella loro cartella
|
Comment=Elenca le sessioni di Pi Agent e le riprende nella loro cartella
|
||||||
Exec=python3 $APP
|
Exec=$EXEC
|
||||||
Icon=utilities-terminal
|
Icon=utilities-terminal
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=Development;
|
Categories=Development;
|
||||||
@@ -31,5 +39,6 @@ Keywords=pi;agent;session;resume;
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo "✓ Installato: $DESKTOP"
|
echo "✓ Installato: $DESKTOP"
|
||||||
|
echo " Eseguibile: $EXEC"
|
||||||
echo " Cerca 'Pi Session Launcher' nel menu applicazioni KDE."
|
echo " Cerca 'Pi Session Launcher' nel menu applicazioni KDE."
|
||||||
echo " (Per rimuovere: $0 --uninstall)"
|
echo " (Per rimuovere: $0 --uninstall)"
|
||||||
|
|||||||
Reference in New Issue
Block a user