Files
scripts-bash/dmenu_set_image.sh
2026-03-30 15:48:25 -06:00

60 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
dir="$HOME/.config/rofi/launchers/type-7"
theme='style-9w'
wengine_setter='/home/arthur/.config/themes/wallpaper-engine.sh'
wengine_setter_tema='/home/arthur/.config/themes/wallpaper-engine.sh'
setwallpaper='/home/arthur/scripts/set-wallpaperengine.sh'
hyprpaper="$HOME/.config/hypr/hyprpaper.conf"
wallpaper_dir="$HOME/Pictures/wallpapers/"
opciones_wallpapers=""
while IFS= read -r line
do
img=$wallpaper_dir$line
if [ -e "$img" ]; then
opciones_wallpapers=$opciones_wallpapers$line" ~ "$wallpaper_dir$line"\0icon\x1f$img\n"
fi
done <<< $( ls -1 $wallpaper_dir )
wallpaper=$(echo -e "$opciones_wallpapers" | rofi -dmenu -p "$label_w" -theme ${dir}/${theme}.rasi )
if [ -z "$wallpaper" ]; then
echo -e "No hubo seleccion"
exit 1
fi
IFS='~' read -r -a partes <<< "$wallpaper"
wallpaper=${partes[1]}
wallpaper=$(echo "$wallpaper" | sed 's/^[ \t]*//;s/[ \t]*$//')
echo -e $wallpaper
killall linux-wallpaperengine
sed -i "/^sh /c\sh ${setwallpaper} > /dev/null \&" "$wengine_setter"
sed -i "/^sh /c\sh ${setwallpaper} > /dev/null \&" "$wengine_setter_tema"
temp_mon=$( hyprctl monitors -j | jq -r '.[].name' )
while IFS= read -r line
do
ruta=$(grep "wallpaper = $line," $hyprpaper | cut -d',' -f2)
opciones_monitors="$opciones_monitors$line""\0icon\x1f$ruta\n"
done <<< "$temp_mon"
monitor=$( echo -e "$opciones_monitors" |rofi -dmenu -p "$label" -theme ${dir}/${theme}.rasi )
IFS='\0icon' read -r -a partes <<< "$monitor"
monitor=${partes[0]}
echo "MONITORES: "$monitor
if [ -z "$monitor" ]; then
exit 1
fi
echo "HACIENDO SED DE :>>>>>>>"$monitor
sed -i "/#${monitor} preload/{n;s|^sh .*|sh ${setwallpaper} ${wallpaper} ${monitor} ${scaling} > /dev/null \& |}" "$wengine_setter"
sh $HOME/.config/ranger/set_wallpaper.sh $wallpaper $monitor