Keep images vertical
This commit is contained in:
@@ -47,7 +47,7 @@
|
||||
|
||||
# Configuration
|
||||
set WALLPAPER_DIR "/mnt/linux-files-2/Pictures/hevin"
|
||||
set CYCLE_TIME 5 # Seconds between image changes
|
||||
set CYCLE_TIME 2 # Seconds between image changes
|
||||
#set BLUR_AMOUNT "0x5" # Set to "0x0" for no blur
|
||||
set BLUR_AMOUNT "0x0" # Set to "0x0" for no blur
|
||||
|
||||
@@ -85,12 +85,31 @@ while true
|
||||
set image (fdfind -e jpg -e jpeg -e png -e webp . $WALLPAPER_DIR | shuf -n 1)
|
||||
if test -n "$image"
|
||||
echo "Found image: $image"
|
||||
convert "$image" \
|
||||
-resize {$width}x{$height}^ \
|
||||
-gravity center \
|
||||
-extent {$width}x{$height} \
|
||||
-blur $BLUR_AMOUNT \
|
||||
"/tmp/screensaver-$monitor.png"
|
||||
|
||||
# Get image dimensions
|
||||
set img_info (identify -format "%wx%h" "$image")
|
||||
set img_width (echo $img_info | cut -d'x' -f1)
|
||||
set img_height (echo $img_info | cut -d'x' -f2)
|
||||
|
||||
# Process image based on orientation
|
||||
if test $img_height -gt $img_width
|
||||
# Vertical image - fit to height with black background
|
||||
convert "$image" \
|
||||
-resize x{$height}^ \
|
||||
-gravity center \
|
||||
-background black \
|
||||
-extent {$width}x{$height} \
|
||||
-blur $BLUR_AMOUNT \
|
||||
"/tmp/screensaver-$monitor.png"
|
||||
else
|
||||
# Horizontal image - fit to width
|
||||
convert "$image" \
|
||||
-resize {$width}x^ \
|
||||
-gravity center \
|
||||
-extent {$width}x{$height} \
|
||||
-blur $BLUR_AMOUNT \
|
||||
"/tmp/screensaver-$monitor.png"
|
||||
end
|
||||
|
||||
# Display image on single monitor
|
||||
feh --no-fehbg --hide-pointer --fullscreen --title 'screensaver' "/tmp/screensaver-$monitor.png" &
|
||||
|
||||
Reference in New Issue
Block a user