41 lines
1.1 KiB
Bash
Executable File
41 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy-theme-remove: Remove a theme from Omarchy by name
|
|
# Usage: omarchy-theme-remove <theme-name>
|
|
|
|
if [ -z "$1" ]; then
|
|
mapfile -t extra_themes < <(find ~/.config/omarchy/themes -mindepth 1 -maxdepth 1 -type d ! -xtype l -printf '%f\n')
|
|
|
|
if [[ ${#extra_themes[@]} -gt 0 ]]; then
|
|
THEME_NAME=$(gum choose --header="Remove extra theme" "${extra_themes[@]}")
|
|
else
|
|
echo "No extra themes installed."
|
|
exit 1
|
|
fi
|
|
else
|
|
THEME_NAME="$1"
|
|
fi
|
|
|
|
THEMES_DIR="$HOME/.config/omarchy/themes"
|
|
CURRENT_DIR="$HOME/.config/omarchy/current"
|
|
THEME_PATH="$THEMES_DIR/$THEME_NAME"
|
|
|
|
# Ensure a theme was set
|
|
if [ -z "$THEME_NAME" ]; then
|
|
exit 1
|
|
fi
|
|
|
|
# Check if theme exists before attempting removal
|
|
if [ ! -d "$THEME_PATH" ]; then
|
|
echo "Error: Theme '$THEME_NAME' not found."
|
|
exit 1
|
|
fi
|
|
|
|
# Move to the next theme if the current theme is the one being removed
|
|
if [ "$(readlink -f "$CURRENT_DIR/theme")" = "$(readlink -f "$THEME_PATH")" ]; then
|
|
~/.local/share/omarchy/bin/omarchy-theme-next
|
|
fi
|
|
|
|
# Now remove the theme directory for THEME_NAME
|
|
rm -rf "$THEME_PATH"
|