From f6ba060b2f88f7bde7185e1dfa66d041436a60d1 Mon Sep 17 00:00:00 2001 From: ulve Date: Sat, 13 Jun 2026 11:18:56 +0200 Subject: [PATCH] add swww wallpaper cycling on unlock --- config/sway/config | 7 ++++--- config/sway/wallpaper.sh | 3 +++ home.nix | 5 +++++ 3 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 config/sway/wallpaper.sh diff --git a/config/sway/config b/config/sway/config index af6d053..8cbcb52 100644 --- a/config/sway/config +++ b/config/sway/config @@ -17,7 +17,8 @@ exec "foot --server" exec lxqt-policykit-agent exec mako -output * bg ~/.config/sway/nixgirl.png fill +exec swww-daemon +exec sh -c 'sleep 1 && ~/.config/sway/wallpaper.sh' input type:keyboard { xkb_layout "se" @@ -100,7 +101,7 @@ bindsym $mod+Shift+s exec 'grim -l 0 -g "$(slurp)" - | wl-copy' bindsym $mod+Alt+s exec 'mkdir -p ~/Pictures/Screenshots && grim -l 0 -g "$(slurp)" - | satty --filename - --output-filename ~/Pictures/Screenshots/$(date +"%Y-%m-%d_%H-%M-%S").png' exec swayidle -w \ - timeout 300 'swaylock -f -c 0a0a0a' \ + timeout 300 'swaylock -f -c 0a0a0a && ~/.config/sway/wallpaper.sh' \ timeout 600 'swaymsg "output * dpms off"; wpctl set-mute @DEFAULT_AUDIO_SINK@ 1' \ resume 'swaymsg "output * dpms on"; wpctl set-mute @DEFAULT_AUDIO_SINK@ 0' \ - before-sleep 'swaylock -f -c 0a0a0a' + before-sleep 'swaylock -f -c 0a0a0a && ~/.config/sway/wallpaper.sh' diff --git a/config/sway/wallpaper.sh b/config/sway/wallpaper.sh new file mode 100644 index 0000000..662e576 --- /dev/null +++ b/config/sway/wallpaper.sh @@ -0,0 +1,3 @@ +#!/bin/sh +WALLPAPER=$(find "$HOME/.config/sway/wallpapers" -maxdepth 1 -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \) | shuf -n 1) +swww img "$WALLPAPER" --transition-type random --transition-duration 2 --transition-fps 60 diff --git a/home.nix b/home.nix index 9f2cf71..02db925 100644 --- a/home.nix +++ b/home.nix @@ -239,6 +239,10 @@ source = config.lib.file.mkOutOfStoreSymlink "/home/ulve/nixos-dotfiles/config/nvim"; }; xdg.configFile."sway".source = ./config/sway; + home.file.".config/sway/wallpaper.sh" = { + source = ./config/sway/wallpaper.sh; + executable = true; + }; xdg.configFile."waybar".source = ./config/waybar; xdg.configFile."foot".source = ./config/foot; @@ -281,6 +285,7 @@ swaylock # lock screen swayidle # idle management (dims/locks/sleeps) brightnessctl # screen brightness control + swww # wallpaper daemon with transitions waybar # status bar with left/center/right sections lxqt.lxqt-policykit # polkit authentication agent