nosignal-shell/scripts/caelestia-avatar-picker.sh
Amstel 9308c9b67f Dashboard Avatar Picker 1.0a
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
2025-06-11 14:50:31 +08:00

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"