#!/bin/bash # Start Chromium in app mode. Optional env vars: # CHROMIUM_APP_URL - URL to open (default: http://127.0.0.1:8080) # CHROMIUM_MODE - "fullscreen" or "kiosk" (default: 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: "fullscreen" or "kiosk" CHROMIUM_MODE="${CHROMIUM_MODE:-fullscreen}" 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 --disable-features=UseChromeOSDirectVideoDecoder --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