Keep the wallpaper when movie restores the screen layout
.fehbg now saves its random picks to ~/.cache/wallpapers and redraws them with --keep; screen-layout passes this through with --keep-wallpaper, used by movie.
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Sets a random wallpaper on each monitor; with --keep, redraws the last ones picked instead.
|
||||||
|
|
||||||
|
cache=${XDG_CACHE_HOME:-$HOME/.cache}/wallpapers
|
||||||
|
|
||||||
|
if [[ $1 != --keep || ! -s $cache ]]; then
|
||||||
|
# One image per connected output, so --keep still has enough after an output was off
|
||||||
|
count=$(xrandr --query | grep -c ' connected')
|
||||||
|
shuf -n "$count" -e ~/.local/share/backgrounds/random/* > "$cache"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mapfile -t walls < "$cache"
|
||||||
|
exec /usr/bin/feh --no-fehbg --bg-fill "${walls[@]}"
|
||||||
+1
-1
@@ -7,7 +7,7 @@ if ! xrandr --query | grep -q '^HDMI-1-0 connected'; then
|
|||||||
exec mpv "$@"
|
exec mpv "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
trap ~/.local/bin/screen-layout EXIT
|
trap '"$HOME"/.local/bin/screen-layout --keep-wallpaper' EXIT
|
||||||
trap 'exit 130' INT TERM HUP
|
trap 'exit 130' INT TERM HUP
|
||||||
|
|
||||||
xrandr --output eDP-1 --off
|
xrandr --output eDP-1 --off
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Sets up the outputs, wallpaper and trayer for whatever monitors are connected.
|
# Sets up the outputs, wallpaper and trayer for whatever monitors are connected.
|
||||||
# Called by xmonad at startup and on monitor (dis)connect, and by `movie` on exit.
|
# Called by xmonad at startup and on monitor (dis)connect, and by `movie` on exit.
|
||||||
|
# --keep-wallpaper redraws the current wallpaper instead of picking new random ones.
|
||||||
|
|
||||||
if xrandr --query | grep -q '^HDMI-1-0 connected'; then
|
if xrandr --query | grep -q '^HDMI-1-0 connected'; then
|
||||||
xrandr --output HDMI-1-0 --preferred --primary --output eDP-1 --right-of HDMI-1-0 --preferred
|
xrandr --output HDMI-1-0 --preferred --primary --output eDP-1 --right-of HDMI-1-0 --preferred
|
||||||
@@ -10,7 +11,11 @@ else
|
|||||||
tray=0
|
tray=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
~/.fehbg
|
if [[ $1 == --keep-wallpaper ]]; then
|
||||||
|
~/.fehbg --keep
|
||||||
|
else
|
||||||
|
~/.fehbg
|
||||||
|
fi
|
||||||
|
|
||||||
# Replace any running trayer, so there's never more than one
|
# Replace any running trayer, so there's never more than one
|
||||||
pkill -x trayer
|
pkill -x trayer
|
||||||
|
|||||||
Reference in New Issue
Block a user