Skip to main content

Module backends

Module backends 

Source
Expand description

Adapters for communicating with Desktop Environments, Window Managers, and Display Servers.

Structs§

AwwwBackend
Backend implementing dynamic wallpaper transitions on Wayland via awww.
DaemonConfig
Configuration for a background daemon to ensure consistent lifecycle management.
DaemonManager
A generic coordinator to handle background daemon processes.
GnomeBackend
HyprlandBackend
Backend implementing wallpaper orchestration for the Hyprland compositor via hyprpaper.
OpenboxBackend
SwaybgBackend
Backend implementing static wallpaper rendering on Wayland via swaybg.
XfceBackend

Enums§

Desktop
Represents the supported Desktop Environments (DE) or Window Managers (WM). We use an Enum instead of a String to ensure type safety and prevent logic errors.

Traits§

CommandExt
Extension trait for std::process::Command to unify command execution logic.
WallpaperBackend
Core trait defining the wallpaper application logic. Follows the “Functional Core, Imperative Shell” pattern.

Functions§

compile_wallpapers_for_monitors
Pre-processes and compiles separate multi-picture composite backgrounds in parallel for each monitor.
detect_monitors
Detects active outputs (monitors) using a robust fallback chain with a retry loop.
get_active_xrandr_monitors
Get active X11 monitors via xrandr to filter out stale configurations.
is_process_running
Checks if a process with the specified name is currently running.
is_process_running_shared
Checks if a process is running using an existing, shared System instance.
parse_hyprland
Pure parser for Hyprland output.
parse_niri
Pure parser for Niri output.
parse_wlr_randr
Pure parser for wlr-randr output.
parse_xfce
XFCE Logic: Matches active hardware (xrandr) with XFCE properties. If a monitor is active but has no XFCE property yet, we synthesize one.
parse_xrandr
Pure parser for xrandr output.
prune_stale_xfce_configs
Prunes stale XFCE configurations that no longer correspond to active hardware.
set_wallpaper
Set desktop wallpaper based on the detected Desktop Environment.
terminate_processes_by_name
Terminates all processes that match the provided name.
wait_for_process_ready
Polls the system until the specified process is detected or the timeout is reached.