This will allows users to update/change their profile icon from the dashboard by clicking the profile icon. ### How it works? > Once the profile icon is clicked it will launch zenity file picker. Once selected the target new profile Icon this script will do the following: - Deletes the current ~/.face - Deletes all .face cached files in ~/.cache/caelestia/thumbnails/ - Copies the new selected profile-icon to ~/.face ### Issues - Once the profile is update, the user must manually reload the shell by restarting the shell session. **NOTE:** Make sure to chmod +x the picker.sh before using. Dependencies: - zenity
21 lines
635 B
Bash
Executable file
21 lines
635 B
Bash
Executable file
#!/bin/bash
|
|
|
|
export DISPLAY=${DISPLAY:-:0}
|
|
export DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS:-"unix:path=/run/user/$UID/bus"}
|
|
|
|
# Pick an image file with zenity
|
|
FILE=$(zenity --file-selection --file-filter="Images | *.png *.jpg *.jpeg *.webp")
|
|
|
|
# Exit if cancelled
|
|
[ -z "$FILE" ] && exit 1
|
|
|
|
# Deletes existing ~/.face & caches
|
|
rm -f "$HOME/.face"
|
|
rm -f "$HOME/.cache/caelestia/thumbnails/@0x0-exact.png"
|
|
rm -f "$HOME/.cache/caelestia/thumbnails/@93x93-exact.png"
|
|
rm -f "$HOME/.cache/caelestia/thumbnails/@93x94-exact.png"
|
|
rm -f "$HOME/.cache/caelestia/thumbnails/@94x94-exact.png"
|
|
|
|
cp "$FILE" "$HOME/.face"
|
|
|
|
echo "$HOME/.face"
|