#!/bin/bash # Revision: 2 # Start Chromium in app mode. Optional env vars: # CHROMIUM_APP_URL - URL to open (default: http://127.0.0.1:8080) # CHROMIUM_MODE - "kiosk" (default, fills whole screen) or "fullscreen" # # Touch long-press → right-click: In Chromium on Wayland, long-press often does *not* # open the context menu (Chromium handles touch itself). Elsewhere (e.g. desktop) it may # work. For long-press right-click *inside* Chromium, use evdev-right-click-emulation # at the input layer so all apps (including Chromium) receive real right-click events: # https://github.com/PeterCxy/evdev-right-click-emulation # # Disable keyring prompts export GNOME_KEYRING_CONTROL="" # Wayland + labwc compositor. export GDK_BACKEND=wayland # Wait for compositor for i in {1..60}; do if [ -S "${XDG_RUNTIME_DIR:-/run/user/$(id -u)}/$WAYLAND_DISPLAY" ]; then pgrep -x labwc >/dev/null 2>&1 && break fi sleep 0.5 done # URL to open in Chromium (app mode) #CHROMIUM_APP_URL="${CHROMIUM_APP_URL:-http://127.0.0.1:8080}" CHROMIUM_APP_URL="${CHROMIUM_APP_URL:-https://tototheo.com}" # Mode: "kiosk" (fills whole screen, no taskbar gap) or "fullscreen" CHROMIUM_MODE="${CHROMIUM_MODE:-kiosk}" # Extension disables text selection so touch-drag scrolls (see chromium-kiosk-no-select) EXTENSION_DIR="${HOME}/.local/share/chromium-kiosk-no-select" CHROMIUM_OPTS="--noerrdialogs --disable-infobars --disable-session-crashed-bubble --disable-restore-session-state --no-first-run --password-store=basic --use-mock-keychain --ozone-platform=wayland --enable-features=WaylandWindowDecorations,TouchpadOverscrollHistoryNavigation --disable-features=UseChromeOSDirectVideoDecoder --touch-events=enabled --enable-pinch --disable-translate" [ -d "$EXTENSION_DIR" ] && CHROMIUM_OPTS="$CHROMIUM_OPTS --load-extension=$EXTENSION_DIR" CHROMIUM_OPTS="$CHROMIUM_OPTS --app=${CHROMIUM_APP_URL}" case "${CHROMIUM_MODE}" in kiosk) CHROMIUM_OPTS="--kiosk ${CHROMIUM_OPTS}" ;; *) CHROMIUM_OPTS="--start-fullscreen ${CHROMIUM_OPTS}" ;; esac sleep 3 /usr/bin/chromium $CHROMIUM_OPTS & # Keep script running wait