A snow overlay for Wayland/Hyprland. Snowflakes fall across your screen, land on window titlebars and the screen bottom, then melt away.
vid21.mp4
This is a project made for fun and not tested for performance or battery usage.
cargo runcargo build --release
cp target/release/hyprsnow ~/.local/bin/OR
cargo install hyprsnow
OR
cargo install --path .
hyprsnow [OPTIONS]| Option | Description |
|---|---|
--intensity <1-10> |
Snow intensity (default: 3) |
--size-min <float> |
Minimum snowflake size in pixels (default: 2.0) |
--size-max <float> |
Maximum snowflake size in pixels (default: 5.0) |
--speed-min <float> |
Minimum fall speed in pixels/second (default: 30.0) |
--speed-max <float> |
Maximum fall speed in pixels/second (default: 80.0) |
--drift <float> |
Horizontal drift intensity, 0 = none, 30 = strong (default: 20.0) |
--max-opacity <float> |
Maximum snowflake opacity, 0.0 = invisible, 1.0 = solid (default: 1.0) |
--image-path <String[]> |
Optional list of image file paths used for rendering snowflakes. If not provided, or if the list is empty, default circular snowflakes will be used. |
Create ~/.config/hypr/hyprsnow.conf:
general {
intensity = 5
size_min = 2.0
size_max = 5.0
speed_min = 30.0
speed_max = 80.0
drift = 20.0
max_opacity = 1.0
image_path = "/path/to/snowflake/image.png"
image_path = "/path/to/snowflake/image2.png"
}
Note: CLI arguments override config file values unless you changed the config after starting hyprsnow. Hotreload changes supercede CLI args.
hyprsnow listens to Hyprland IPC events and updates window positions in real-time. Snowflakes will land on the top edge of your windows as you open, close, move, or resize them.
- Hyprland
- Rust