| 1234567891011121314151617181920212223242526272829303132333435 |
- #!/bin/bash
- # Kill any existing swaybg or feh instances
- pkill swaybg
- pkill feh
- # Function to set wallpaper using swaybg on Sway
- set_wallpaper_sway() {
- swaymsg -t get_outputs -r | jq -r ".[].name" | parallel 'swaybg -o {} -i $(find ~/Pictures/* -type f | shuf -n 1) &'
- }
- # Function to set wallpaper using swaybg on Hyprland
- set_wallpaper_hyprland() {
- hyprctl monitors -j | jq -r ".[].name" | parallel 'swaybg -o {} -i $(find ~/Pictures/* -type f | shuf -n 1) &'
- }
- # Function to set wallpaper using feh on i3
- set_wallpaper_i3() {
- # Count number of connected monitors
- monitor_count=$(xrandr --query | grep " connected" | wc -l)
- # Get random wallpapers equal to monitor count
- readarray -t wallpapers < <(find ~/Pictures/* -type f | shuf -n "$monitor_count")
- # Construct the feh command with multiple --bg-fill arguments
- cmd="feh"
- for wallpaper in "${wallpapers[@]}"; do
- cmd+=" --bg-fill '$wallpaper'"
- done
- # Execute the command
- eval "$cmd"
- }
- set_wallpaper_sway
|