mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-06 02:00:06 +02:00
host-spawn starts a host command in the caller's folder. Started from /tmp, the app's folder in the container is /run/host/tmp, which the host doesn't have, so starting ft-camd (and every other host command) exited 127. host_command now runs from home (env -C), and the launcher cds there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 lines
1.3 KiB
Bash
Executable File
22 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Launch the Frametop Hand Recorder from a Plasma session on the Frame host.
|
|
# The app runs in the dev container (PySide6, Kirigami and zstd come from Fedora there).
|
|
# podman needs the real XDG_RUNTIME_DIR and the real user bus (to reach systemd for
|
|
# the container's cgroup; the Frametop session runs on a private bus from
|
|
# dbus-run-session). The session's Wayland socket and bus go to the app itself.
|
|
# Options go to ft_handrec.py: --base DIR, --page NAME, and --dry-run for testing.
|
|
here=$(cd "$(dirname "$(readlink -f "$0")")" && pwd)
|
|
wl=${WAYLAND_DISPLAY:-wayland-0}
|
|
case $wl in /*) ;; *) wl="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}/$wl" ;; esac
|
|
session_bus=${DBUS_SESSION_BUS_ADDRESS:-}
|
|
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
|
export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus
|
|
# From the home folder: the app's host commands (distrobox-host-exec) run in its folder on the
|
|
# host, and a folder only the container has, such as /run/host/tmp, makes them all fail.
|
|
cd "$HOME" || exit 1
|
|
"$here/../../scripts/container-up.sh"
|
|
exec "$HOME/.local/bin/distrobox" enter dev -- env WAYLAND_DISPLAY="$wl" DISPLAY="${DISPLAY:-}" \
|
|
XAUTHORITY="${XAUTHORITY:-}" DBUS_SESSION_BUS_ADDRESS="$session_bus" \
|
|
QT_QPA_PLATFORM="wayland;xcb" \
|
|
python3 "$here/ft_handrec.py" "$@"
|