#!/bin/bash export DISPLAY=:0 SCRIPT_DIR=$(dirname "$(readlink -f "$0")") CSV_FILE="$SCRIPT_DIR/playlist.csv" time_to_minutes() { local hh=$(echo "$1" | cut -d: -f1) local mm=$(echo "$1" | cut -d: -f2) echo $(( 10#$hh * 60 + 10#$mm )) } while true; do if [ ! -f "$CSV_FILE" ]; then sleep 10 continue fi NOW_STR=$(date +"%H:%M") NOW=$(time_to_minutes "$NOW_STR") tail -n +2 "$CSV_FILE" | while IFS=';' read -r dauer von bis zoom_prozent url; do dauer=$(echo "$dauer" | tr -d '\r' | xargs) von=$(echo "$von" | tr -d '\r' | xargs) bis=$(echo "$bis" | tr -d '\r' | xargs) zoom_prozent=$(echo "$zoom_prozent" | tr -d '\r' | xargs) url=$(echo "$url" | tr -d '\r' | xargs) [ -z "$url" ] && continue if [ -z "$zoom_prozent" ] || [ "$zoom_prozent" -eq 0 ]; then zoom_prozent="100" fi if [ "$zoom_prozent" -eq 100 ]; then zoom_factor="1.0" elif [ ${#zoom_prozent} -eq 2 ]; then zoom_factor="0.$zoom_prozent" else vorkomma=$(echo "$zoom_prozent" | sed 's/..$//') nachkomma=$(echo "$zoom_prozent" | grep -o '..$') zoom_factor="${vorkomma}.${nachkomma}" fi START=$(time_to_minutes "$von") END=$(time_to_minutes "$bis") IN_WINDOW=0 if [ $START -le $END ]; then if [ $NOW -ge $START ] && [ $NOW -le $END ]; then IN_WINDOW=1 fi else if [ $NOW -ge $START ] || [ $NOW -le $END ]; then IN_WINDOW=1 fi fi if [ $IN_WINDOW -eq 1 ]; then # Monitor aufwachen lassen & Cursor verstecken erzwingen xset s off xset s noblank xset -dpms xset dpms force on xsetroot -cursor_name blank # Stoppe laufende Instanzen (ohne dieses Skript selbst zu killen) pkill -9 -v -f "$$" -f chromium pkill -9 -v -f "$$" -f brave # ========================================== # BROWSER-AUSWAHL (Hier flexibel umschalten) # ========================================== # OPTION A: Brave Browser (Inkl. nativem Cookie-Blocker) brave-browser --kiosk --no-first-run --new-window \ --ignore-certificate-errors \ --test-type \ --force-device-scale-factor="$zoom_factor" \ --user-data-dir=/tmp/brave-kiosk \ --disk-cache-dir=/tmp/brave-cache --disk-cache-size=1 \ --enable-features=BraveAdblockCookieListCp \ --autoplay-policy=no-user-gesture-required \ "$url" & # OPTION B: Chromium (Falls gewünscht, Zeile oben auskommentieren und hier die Raute entfernen) #chromium --kiosk --no-first-run --new-window \ # --ignore-certificate-errors \ # --test-type \ # --force-device-scale-factor="$zoom_factor" \ # --user-data-dir=/tmp/chromium-kiosk \ # --disk-cache-dir=/tmp/chromium-cache --disk-cache-size=1 \ # --autoplay-policy=no-user-gesture-required \ # --lang=de-DE \ # --accept-lang=de-DE,de,en-US,en \ # "$url" & sleep "$dauer" fi done done