Added support for both X11 and Wayland environments: Display Server Detection: - Auto-detects Wayland via WAYLAND_DISPLAY environment variable - Falls back to X11 commands if not Wayland - Works seamlessly on both display servers Wayland-specific tools: - wlopm - Wayland output power management (keeps display on) - wlr-randr - Output management for wlroots compositors - ydotool - Mouse movement for Wayland (alternative to xdotool) - systemd-inhibit integration for idle prevention Enhanced display keep-alive script: - Detects display server type on startup - Uses appropriate commands based on environment - Wayland: wlopm, wlr-randr, ydotool - X11: xset, xdotool, xrandr - Both: tvservice for HDMI power control App-level improvements (main.py): - Detects Wayland via os.environ check - Executes Wayland-specific commands when detected - Maintains X11 compatibility for older systems Installation improvements: - Auto-installs Wayland tools if Wayland is detected - Attempts to install: wlopm, wlr-randr, ydotool - Graceful fallback if packages unavailable This ensures HDMI power management works correctly on: - Raspberry Pi OS with X11 (older versions) - Raspberry Pi OS with Wayland (Bookworm and newer) - Any Linux system using either display server
18 B
18 B