From 9308c9b67f491ff32c57d037f16ac6e9148f9dae Mon Sep 17 00:00:00 2001 From: Amstel Date: Wed, 11 Jun 2025 14:50:31 +0800 Subject: 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 --- scripts/caelestia-avatar-picker.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100755 scripts/caelestia-avatar-picker.sh (limited to 'scripts') diff --git a/scripts/caelestia-avatar-picker.sh b/scripts/caelestia-avatar-picker.sh new file mode 100755 index 0000000..4ca5cfb --- /dev/null +++ b/scripts/caelestia-avatar-picker.sh @@ -0,0 +1,21 @@ +#!/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" -- cgit v1.2.3-freya