Newsboat - Mehrere Instanzen parallel starten
Es lassen sich mit einem kleinen Kniff mehrere Newsboat-Instanzen parallel starten und gleichzeitig nutzen. Anstatt einer einzigen großen Datenbank für alle Newsboate zu verwenden, wird für jede eine eigene Datenbank angelegt.
Alter Startbefehl in iTerm2
Mit dem bisherigen Startbefehl wurde Newsboat gestartet. Dabei wurde die Standard-Datenbank im Verzeichnis ~/.newsboat/cache.db für alle Newsboat-Instanzen verwendet.
Nachteile:
- Es konnten nicht mehrere Instanzen gleichzeitig geöffnet werden
- Bereits gelesene Beiträge wurden bei einem Neustart wieder als ungelesen markiert.
XDG_CONFIG_HOME=~/.newsboat-music XDG_DATA_HOME=.newsboat-music newsboat
Neuer Startbefehl int iTerm2
Der neue Startbefehl startet Newsboat mit einer eigenen Datenbank, die in einem Verzeichnis abgelegt wird. 1
newsboat --cache-file=~/.newsboat-music/newsboat/cache.db --url-file=~/.newsboat-music/newsboat/urls
Es können auch alle Datenbanken in einem zentralen Ordner verwaltet werden. Dabei ist darauf zu achten, die Datenbanken unterschiedlich zu benennen.
newsboat --cache-file=~/.newsboat-cache/cache-music.db --url-file=~/.newsboat-music/newsboat/urls
newsboat --cache-file=~/.newsboat-cache/cache-xxxyyy.db --url-file=~/.newsboat-xxxyyy/newsboat/urls
newsboat --cache-file=~/.newsboat-cache/cache-aaabbb.db --url-file=~/.newsboat-aaabbb/newsboat/urls
Bei einer zentralen Verwaltung kann dieser Ordner z.B. bei der Verwaltung in einem Git Repository einfach über die .gitignore ausgeschlossen werden. ( 👉 Newsboat Konfigurationsdateien in macOS und Linux verwenden)
.zshrc Alias in macOS
In der .zshrc wird mit dem Alias nnm ein Apple-Skript aufgerufen.
alias nnm='sh $HOME/.config/scripts/iterm-newsboat-music.sh "newsboat-music"'
Apple Script
Das Apple-Skript ist sehr einfach gehalten und startet Newsboat mit einem angelegten iTerm-Profil.
#!/usr/bin/env bash
PROFILE="${1-newsboat-music}"
# Öffne iTerm2 mit dem angegebenen Profil und speichere die Fenster-ID
WINDOW_ID=$(osascript -e "tell application \"iTerm\"
set newWindow to (create window with profile \"$PROFILE\")
id of newWindow
end tell")
# Wartet 10 Sekunden, bis Newsboat geladen wurde
# Bei Probleme ist der Wert zu erhöhen
sleep 10
# Warte, bis der Newsboat-Prozess endet
while pgrep -x "newsboat" > /dev/null; do
sleep 2
done
# Schließe nur das Fenster mit der gespeicherten Fenster-ID, wenn Newsboat beendet ist
osascript -e "tell application \"iTerm\"
close (every window whose id is $WINDOW_ID)
end tell"
Es können nun mehrere Newsboat-Instanzen parallel gestartet werden, da jede eine eigene Datenbank verwendet.
Gib mir gerne einen Kaffee ☕ aus 😀
Gib mir gerne einen Kaffee ☕ aus !
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj
Weitere Möglichkeiten mich zu unterstützen findest du 👉 hier
Follow Me
Source
Photo by Artak Petrosyan on Unsplash

