You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

199 lines
5.0 KiB

#!/bin/bash
# A script that updates existing Komorebi wallpapers
# and add us to the start up with the new updated syntax
echo "[INFO]: Removing old Komorebi properties file.."
users="$(ls -d -1 /home/*/ | xargs -n 1 basename)"
for user in $users; do
rm -rf "/home/$user/.Komorebi.prop"
mkdir -p "/home/$user/.config/autostart"
cp "/usr/share/applications/komorebi.desktop" "/home/$user/.config/autostart/komorebi.desktop"
chown "$user:$user" "/home/$user/.config/autostart" -R
done
echo "[INFO]: Updating existing Komorebi Wallpapers.."
wallpapers=$(ls -d -1 /System/Resources/Komorebi/*/)
for wallpaper in $wallpapers; do
configtemplate="[Info]
WallpaperType=image
[DateTime]
Visible=true
Parallax=DATETIMEPARALLAX
MarginLeft=MARGINLEFT
MarginTop=MARGINTOP
MarginBottom=MARGINBOTTOM
MarginRight=MARGINRIGHT
RotationX=0
RotationY=0
RotationZ=0
Position=POSITION
Alignment=ALIGNMENT
AlwaysOnTop=DATETIMEALWAYSONTOP
Color=TIMECOLOR
Alpha=255
ShadowColor=black
ShadowAlpha=190
TimeFont=TIMEFONT
DateFont=DATEFONT
[Wallpaper]
Parallax=WALLPAPERPARALLAX
[Asset]
Visible=ASSETVISIBLE
AnimationMode=ANIMATIONMODE
AnimationSpeed=ANIMATIONSPEED
Width=0
Height=0
"
# Skip wallpapers with videos (cause they're new)
if [ -e $wallpaper"video.mp4" ]; then
continue
fi
if [ -e $wallpaper"wallpaper.jpg" ]; then
continue
fi
# Remove incompatible wallpapers
if [ "$wallpaper" == "blue_pink_gradient" ]; then
continue
fi
if [ "$wallpaper" == "dark_night_gradient" ]; then
continue
fi
echo "Updating $wallpaper"
oldfile=$wallpaper"bg.jpg"
mv $oldfile $wallpaper"wallpaper.jpg" 2>/dev/null
rm -rf $wallpaper"thumb.jpg"
entirecontent=""
halign=""
valign=""
while read -r line
do
entirecontent+=$line
if [[ $line =~ "=" ]]; then
IFS='=' read -r -a array <<< "$line"
key="${array[0]}"
value="${array[1]}"
if [ "$key" == "DateTimeBoxParallax" ]; then
configtemplate=${configtemplate/DATETIMEPARALLAX/$value}
elif [ "$key" == "AnimationMode" ]; then
if [ "$value" == "parallax-bg" ]; then
configtemplate=${configtemplate/WALLPAPERPARALLAX/"true"}
configtemplate=${configtemplate/ANIMATIONMODE/"noanimation"}
else
configtemplate=${configtemplate/WALLPAPERPARALLAX/"false"}
configtemplate=${configtemplate/ANIMATIONMODE/$value}
fi
elif [ "$key" == "AnimationSpeed" ]; then
configtemplate=${configtemplate/ANIMATIONSPEED/$value}
elif [ "$key" == "DateTimeBoxMarginLeft" ]; then
configtemplate=${configtemplate/MARGINLEFT/$value}
elif [ "$key" == "DateTimeBoxMarginTop" ]; then
configtemplate=${configtemplate/MARGINTOP/$value}
elif [ "$key" == "DateTimeBoxMarginBottom" ]; then
configtemplate=${configtemplate/MARGINBOTTOM/$value}
elif [ "$key" == "DateTimeBoxMarginRight" ]; then
configtemplate=${configtemplate/MARGINRIGHT/$value}
elif [ "$key" == "TimeLabelAlignment" ]; then
configtemplate=${configtemplate/ALIGNMENT/$value}
elif [ "$key" == "DateTimeBoxHAlign" ]; then
halign=$value
elif [ "$key" == "DateTimeBoxVAlign" ]; then
valign=$value
elif [ "$key" == "DateTimeColor" ]; then
configtemplate=${configtemplate/TIMECOLOR/$value}
elif [ "$key" == "TimeLabelFont" ]; then
configtemplate=${configtemplate/TIMEFONT/$value}
elif [ "$key" == "DateLabelFont" ]; then
configtemplate=${configtemplate/DATEFONT/$value}
elif [ "$key" == "DateTimeBoxOnTop" ]; then
configtemplate=${configtemplate/DATETIMEALWAYSONTOP/$value}
fi
fi
done < $wallpaper"config"
if [ -e $wallpaper"assets.png" ]; then
configtemplate=${configtemplate/ASSETVISIBLE/"true"}
else
configtemplate=${configtemplate/ASSETVISIBLE/"false"}
fi
if [[ $halign =~ "start" ]] && [[ $valign =~ "start" ]]; then
configtemplate=${configtemplate/POSITION/"top_left"}
elif [[ $halign =~ "start" ]] && [[ $valign =~ "center" ]]; then
configtemplate=${configtemplate/POSITION/"center_left"}
elif [[ $halign =~ "start" ]] && [[ $valign =~ "end" ]]; then
configtemplate=${configtemplate/POSITION/"bottom_left"}
elif [[ $halign =~ "center" ]] && [[ $valign =~ "start" ]]; then
configtemplate=${configtemplate/POSITION/"top_center"}
elif [[ $halign =~ "center" ]] && [[ $valign =~ "center" ]]; then
configtemplate=${configtemplate/POSITION/"center"}
elif [[ $halign =~ "center" ]] && [[ $valign =~ "end" ]]; then
configtemplate=${configtemplate/POSITION/"bottom_center"}
elif [[ $halign =~ "end" ]] && [[ $valign =~ "start" ]]; then
configtemplate=${configtemplate/POSITION/"top_right"}
elif [[ $halign =~ "end" ]] && [[ $valign =~ "center" ]]; then
configtemplate=${configtemplate/POSITION/"center_right"}
elif [[ $halign =~ "end" ]] && [[ $valign =~ "end" ]]; then
configtemplate=${configtemplate/POSITION/"bottom_right"}
fi
echo "$configtemplate" >$wallpaper"config"
done