Introduce terminal-based workflows for BackTunnel via TUI scripts and service menus

Add `backtunnel-open-term`, `backtunnel-share-tui`, and `backtunnel-access-tui` scripts for terminal-based interaction. Update Dolphin service menus to enable TUI workflows, with improved terminal detection logic. Enhance installation and uninstallation scripts to handle new files. Update README with terminal workflow details and logging information.
This commit is contained in:
2025-09-19 15:30:41 +02:00
parent f42344ebe8
commit 608a6a371f
9 changed files with 276 additions and 71 deletions

View File

@@ -1,5 +1,4 @@
# BackTunnel convenience Makefile (for first-time users and simple installs)
# BackTunnel convenience Makefile (terminal/TUI service menus)
PREFIX ?= /usr
BINDIR := $(PREFIX)/bin
MANDIR := $(PREFIX)/share/man
@@ -7,6 +6,7 @@ KIO_SM := $(PREFIX)/share/kio/servicemenus
KSVC5 := $(PREFIX)/share/kservices5/ServiceMenus
APPDIR := $(PREFIX)/share/applications
BCOMP := $(PREFIX)/share/bash-completion/completions
SHAREDIR := $(PREFIX)/share/backtunnel
# Config paths for user init
XDG_CONFIG_HOME ?= $(HOME)/.config
@@ -38,7 +38,7 @@ init:
cp "$(BT_CFG_EXAMPLE)" "$(BT_CFG_FILE)"; \
echo "Created $(BT_CFG_FILE) from $(BT_CFG_EXAMPLE)."; \
else \
echo "Example file $(BT_CFG_EXAMPLE)" not found.; exit 1; \
echo "Example file $(BT_CFG_EXAMPLE) not found."; exit 1; \
fi \
fi
@@ -48,25 +48,40 @@ install:
@install -Dm755 scripts/backtunnel-access "$(DESTDIR)$(BINDIR)/backtunnel-access"
@install -Dm755 scripts/backtunnel-share-gui "$(DESTDIR)$(BINDIR)/backtunnel-share-gui"
@install -Dm755 scripts/backtunnel-access-gui "$(DESTDIR)$(BINDIR)/backtunnel-access-gui"
@install -Dm755 scripts/backtunnel-open-term "$(DESTDIR)$(BINDIR)/backtunnel-open-term"
@install -Dm755 scripts/backtunnel-share-tui "$(DESTDIR)$(BINDIR)/backtunnel-share-tui"
@install -Dm755 scripts/backtunnel-access-tui "$(DESTDIR)$(BINDIR)/backtunnel-access-tui"
@install -Dm644 man/backtunnel.1 "$(DESTDIR)$(MANDIR)/man1/backtunnel.1"
@install -Dm644 completions/backtunnel.bash "$(DESTDIR)$(BCOMP)/backtunnel-share"
@install -Dm644 completions/backtunnel.bash "$(DESTDIR)$(BCOMP)/backtunnel-access"
@install -Dm644 servicemenus/backtunnel_share.desktop "$(DESTDIR)$(KIO_SM)/backtunnel_share.desktop"
@install -Dm644 servicemenus/backtunnel_access.desktop "$(DESTDIR)$(KIO_SM)/backtunnel_access.desktop"
# Plasma 5 legacy path (harmless if unused)
@install -Dm644 servicemenus/backtunnel_share.desktop "$(DESTDIR)$(KSVC5)/backtunnel_share.desktop"
@install -Dm644 servicemenus/backtunnel_access.desktop "$(DESTDIR)$(KSVC5)/backtunnel_access.desktop"
# Optional desktop launcher if present
@if [ -f desktop/backtunnel.desktop ]; then \
install -Dm644 desktop/backtunnel.desktop "$(DESTDIR)$(APPDIR)/backtunnel.desktop"; \
fi
# Example profiles (system default + packaged fallback)
@install -Dm644 docs/profiles.ini.example "$(DESTDIR)/etc/backtunnel/profiles.ini"
@install -Dm644 docs/profiles.ini.example "$(DESTDIR)$(SHAREDIR)/profiles.ini"
@$(MAKE) refresh
uninstall:
@rm -f "$(DESTDIR)$(BINDIR)/backtunnel-share" \
"$(DESTDIR)$(BINDIR)/backtunnel-access" \
"$(DESTDIR)$(BINDIR)/backtunnel-share-gui" \
"$(DESTDIR)$(BINDIR)/backtunnel-access-gui"
"$(DESTDIR)$(BINDIR)/backtunnel-access-gui" \
"$(DESTDIR)$(BINDIR)/backtunnel-open-term" \
"$(DESTDIR)$(BINDIR)/backtunnel-share-tui" \
"$(DESTDIR)$(BINDIR)/backtunnel-access-tui"
@rm -f "$(DESTDIR)$(MANDIR)/man1/backtunnel.1"
@rm -f "$(DESTDIR)$(BCOMP)/backtunnel-share" \
"$(DESTDIR)$(BCOMP)/backtunnel-access"
@@ -75,6 +90,10 @@ uninstall:
@rm -f "$(DESTDIR)$(KSVC5)/backtunnel_share.desktop" \
"$(DESTDIR)$(KSVC5)/backtunnel_access.desktop"
@rm -f "$(DESTDIR)$(APPDIR)/backtunnel.desktop" || true
# Do not remove /etc/backtunnel or /usr/share/backtunnel by default
# If you want to purge, run scripts/uninstall.sh with PURGE=1
@$(MAKE) refresh
# --- Cache refreshers (no-op if tools missing) ---
@@ -95,6 +114,9 @@ check:
@bash -n scripts/backtunnel-access
@bash -n scripts/backtunnel-share-gui
@bash -n scripts/backtunnel-access-gui
@bash -n scripts/backtunnel-open-term
@bash -n scripts/backtunnel-share-tui
@bash -n scripts/backtunnel-access-tui
@echo "bash -n OK."
shellcheck:
@@ -103,3 +125,6 @@ shellcheck:
@shellcheck scripts/backtunnel-access
@shellcheck scripts/backtunnel-share-gui
@shellcheck scripts/backtunnel-access-gui
@shellcheck scripts/backtunnel-open-term
@shellcheck scripts/backtunnel-share-tui
@shellcheck scripts/backtunnel-access-tui