latest
This commit is contained in:
parent
e4af8e463e
commit
6b4b6af74a
@ -2,22 +2,96 @@
|
|||||||
|
|
||||||
FOLDER=~/Pictures/Wallpapers
|
FOLDER=~/Pictures/Wallpapers
|
||||||
SCRIPT=~/scripts/pywal/pywal16.sh
|
SCRIPT=~/scripts/pywal/pywal16.sh
|
||||||
|
export NSXIV_THUMBSIZE=1024
|
||||||
|
|
||||||
menu() {
|
menu() {
|
||||||
CHOICE=$(nsxiv -otb $FOLDER/*) # nsxiv -o writes filename to stdout
|
# Use wofi to select wallpaper (text-based, no image preview)
|
||||||
|
# Since wofi doesn't support images, filenames are shown in a grid layout
|
||||||
|
CHOICE=$(ls "$FOLDER" | wofi --dmenu \
|
||||||
|
--prompt "Select Wallpaper" \
|
||||||
|
--width 1200 \
|
||||||
|
--height 800 \
|
||||||
|
--columns 3 \
|
||||||
|
--insensitive)
|
||||||
|
|
||||||
case $CHOICE in
|
# Exit if no selection made
|
||||||
*.*) wal -i "$CHOICE" -o $SCRIPT
|
[ -z "$CHOICE" ] && exit 0
|
||||||
killall swaybg
|
|
||||||
swaybg -m fill -i "$CHOICE";;
|
# Construct full path
|
||||||
*) exit 0 ;;
|
CHOICE="$FOLDER/$CHOICE"
|
||||||
esac
|
|
||||||
|
case $CHOICE in
|
||||||
|
*.*) wal -i "$CHOICE" -o "$SCRIPT"
|
||||||
|
killall swaybg 2>/dev/null
|
||||||
|
swaybg -m fill -i "$CHOICE" &;;
|
||||||
|
*) exit 0 ;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$#" in
|
# Alternative: Use nsxiv (best for image previews)
|
||||||
0) menu;;
|
menu_nsxiv() {
|
||||||
1) wal -i "$CHOICE" -o "$SCRIPT";;
|
CHOICE=$(nsxiv -otbg 1800x1200 "$FOLDER"/*) # nsxiv shows actual thumbnail previews
|
||||||
2) wal -1 "$1" --theme $2 -o $SCRIPT ;;
|
|
||||||
|
[ -z "$CHOICE" ] && exit 0
|
||||||
|
|
||||||
|
case $CHOICE in
|
||||||
|
*.*) wal -i "$CHOICE" -o "$SCRIPT"
|
||||||
|
killall swaybg 2>/dev/null
|
||||||
|
swaybg -m fill -i "$CHOICE" &;;
|
||||||
|
*) exit 0 ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
menu_rofi() {
|
||||||
|
# Use rofi with custom styling
|
||||||
|
CHOICE=$(find "$FOLDER" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) -printf "%f\n" | \
|
||||||
|
sort | \
|
||||||
|
rofi -dmenu -i \
|
||||||
|
-p "Select Wallpaper" \
|
||||||
|
-theme-str 'window {width: 60%; height: 50%;}' \
|
||||||
|
-theme-str 'listview {columns: 2; lines: 12;}' \
|
||||||
|
-show-icons)
|
||||||
|
|
||||||
|
[ -z "$CHOICE" ] && exit 0
|
||||||
|
|
||||||
|
# Construct full path
|
||||||
|
CHOICE="$FOLDER/$CHOICE"
|
||||||
|
|
||||||
|
case $CHOICE in
|
||||||
|
*.*) wal -i "$CHOICE" -o "$SCRIPT"
|
||||||
|
killall swaybg 2>/dev/null
|
||||||
|
swaybg -m fill -i "$CHOICE" &;;
|
||||||
|
*) exit 0 ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
menu_rofi_with_preview() {
|
||||||
|
# Rofi with image preview using external previewer
|
||||||
|
# This requires installing rofi-img-previewer or similar
|
||||||
|
CHOICE=$(find "$FOLDER" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) -printf "%f\n" | \
|
||||||
|
sort | \
|
||||||
|
rofi -dmenu -i \
|
||||||
|
-p "Select Wallpaper" \
|
||||||
|
-theme-str 'window {width: 80%; height: 70%;}' \
|
||||||
|
-theme-str 'listview {columns: 3; lines: 8;}')
|
||||||
|
|
||||||
|
[ -z "$CHOICE" ] && exit 0
|
||||||
|
|
||||||
|
# Construct full path
|
||||||
|
CHOICE="$FOLDER/$CHOICE"
|
||||||
|
|
||||||
|
case $CHOICE in
|
||||||
|
*.*) wal -i "$CHOICE" -o "$SCRIPT"
|
||||||
|
killall swaybg 2>/dev/null
|
||||||
|
swaybg -m fill -i "$CHOICE" &;;
|
||||||
|
*) exit 0 ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$#" in
|
||||||
|
0) menu_nsxiv;; # Options: menu (wofi), menu_rofi (rofi), menu_nsxiv (nsxiv with thumbnails)
|
||||||
|
1) wal -i "$1" -o "$SCRIPT";;
|
||||||
|
2) wal -i "$1" --theme "$2" -o "$SCRIPT" ;;
|
||||||
*) exit 0 ;;
|
*) exit 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
Repo="~/Pictures/Wallpapers"
|
Repo="/home/nicholai/Pictures/Wallpapers"
|
||||||
Dir_Wallpapers="~/Nextcloud/Mini-Arch/Wallpaper-Repo/"
|
Dir_Wallpapers="/home/nicholai/Nextcloud/Mini-Arch/Wallpaper-Repo/"
|
||||||
Script_Resort="~/scripts/sort_images_by_color.py"
|
Script_Resort="/home/nicholai/scripts/sort_images_by_color.py"
|
||||||
|
|
||||||
# 1. Resort wallpapers
|
# 1. Resort wallpapers
|
||||||
python "$Script_Resort" "$Dir_Wallpapers"
|
"$(dirname "$0")/bin/python" "$Script_Resort" "$Dir_Wallpapers"
|
||||||
|
|
||||||
# 3. sync new wallpapers in
|
# 3. sync new wallpapers in
|
||||||
rsync -a --delete "$Dir_Wallpapers"/ "$Repo"/
|
rsync -a --delete "$Dir_Wallpapers"/ "$Repo"/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user