made install script better
This commit is contained in:
+101
-13
@@ -1,19 +1,107 @@
|
||||
cp $HOME/.config/quickshell/colors/Colors.qml.template $HOME/.config/quickshell/colors/Colors.qml
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
get_white_svg() {
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||
|
||||
cp "$SCRIPT_DIR/colors/Colors.qml.template" "$SCRIPT_DIR/colors/Colors.qml"
|
||||
|
||||
# ----------------------------
|
||||
# UI helpers
|
||||
# ----------------------------
|
||||
info() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
|
||||
ok() { echo -e "\033[1;32m[ OK ]\033[0m $*"; }
|
||||
warn() { echo -e "\033[1;33m[WARN]\033[0m $*"; }
|
||||
fail() { echo -e "\033[1;31m[FAIL]\033[0m $*"; }
|
||||
|
||||
download() {
|
||||
local url="$1"
|
||||
local out_path="$2"
|
||||
local out="$2"
|
||||
local name="${3:-$(basename "$out")}"
|
||||
|
||||
curl -fsSL "$url" \
|
||||
| sed -E 's/#[0-9a-fA-F]{3,6}/#ffffff/g' \
|
||||
> "$out_path"
|
||||
info "Downloading $name"
|
||||
|
||||
if curl -fL --progress-bar "$url" -o "$out"; then
|
||||
ok "Saved $name"
|
||||
else
|
||||
fail "Failed $name"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
mkdir -p "$HOME/.config/quickshell/modules/wlogout/icons"
|
||||
transform_svg_white() {
|
||||
local url="$1"
|
||||
local out="$2"
|
||||
local name="${3:-$(basename "$out")}"
|
||||
|
||||
get_white_svg "https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/actions/symbolic/system-hibernate-symbolic.svg" "$HOME/.config/quickshell/modules/wlogout/icons/hibernate.svg"
|
||||
get_white_svg "https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/bold/actions/symbolic/system-lock-screen-symbolic.svg" "$HOME/.config/quickshell/modules/wlogout/icons/lock.svg"
|
||||
get_white_svg "https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/status/symbolic/logout-symbolic.svg" "$HOME/.config/quickshell/modules/wlogout/icons/logout.svg"
|
||||
get_white_svg "https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/actions/symbolic/system-reboot-symbolic.svg" "$HOME/.config/quickshell/modules/wlogout/icons/reboot.svg"
|
||||
get_white_svg "https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/actions/symbolic/system-shutdown-symbolic.svg" "$HOME/.config/quickshell/modules/wlogout/icons/shutdown.svg"
|
||||
get_white_svg "https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/actions/24/system-suspend.svg" "$HOME/.config/quickshell/modules/wlogout/icons/suspend.svg"
|
||||
info "Fetching + whitening $name"
|
||||
|
||||
if curl -fsSL "$url" \
|
||||
| sed -E 's/#[0-9a-fA-F]{3,6}/#ffffff/g' \
|
||||
> "$out"; then
|
||||
ok "Generated $name"
|
||||
else
|
||||
fail "Failed $name"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# ----------------------------
|
||||
# Start
|
||||
# ----------------------------
|
||||
echo
|
||||
info "Preparing wlogout icons..."
|
||||
mkdir -p "$SCRIPT_DIR/modules/wlogout/icons"
|
||||
mkdir -p "$SCRIPT_DIR/colors/icons"
|
||||
|
||||
# ----------------------------
|
||||
# Icons (wlogout)
|
||||
# ----------------------------
|
||||
transform_svg_white \
|
||||
"https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/actions/symbolic/system-hibernate-symbolic.svg" \
|
||||
"$SCRIPT_DIR/modules/wlogout/icons/hibernate.svg" \
|
||||
"hibernate.svg"
|
||||
|
||||
transform_svg_white \
|
||||
"https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/bold/actions/symbolic/system-lock-screen-symbolic.svg" \
|
||||
"$SCRIPT_DIR/modules/wlogout/icons/lock.svg" \
|
||||
"lock.svg"
|
||||
|
||||
transform_svg_white \
|
||||
"https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/status/symbolic/logout-symbolic.svg" \
|
||||
"$SCRIPT_DIR/modules/wlogout/icons/logout.svg" \
|
||||
"logout.svg"
|
||||
|
||||
transform_svg_white \
|
||||
"https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/actions/symbolic/system-reboot-symbolic.svg" \
|
||||
"$SCRIPT_DIR/modules/wlogout/icons/reboot.svg" \
|
||||
"reboot.svg"
|
||||
|
||||
transform_svg_white \
|
||||
"https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/actions/symbolic/system-shutdown-symbolic.svg" \
|
||||
"$SCRIPT_DIR/modules/wlogout/icons/shutdown.svg" \
|
||||
"shutdown.svg"
|
||||
|
||||
transform_svg_white \
|
||||
"https://raw.githubusercontent.com/vinceliuice/Colloid-icon-theme/main/src/actions/24/system-suspend.svg" \
|
||||
"$SCRIPT_DIR/modules/wlogout/icons/suspend.svg" \
|
||||
"suspend.svg"
|
||||
|
||||
# ----------------------------
|
||||
# UI icons
|
||||
# ----------------------------
|
||||
echo
|
||||
info "Preparing global icons..."
|
||||
mkdir -p "$SCRIPT_DIR/colors/icons"
|
||||
|
||||
download \
|
||||
"https://raw.githubusercontent.com/Tekh-ops/Garuda-Linux-Icons/refs/heads/master/actions/scalable/window-close.svg" \
|
||||
"$SCRIPT_DIR/colors/icons/wrong.svg" \
|
||||
"wrong.svg"
|
||||
|
||||
download \
|
||||
"https://raw.githubusercontent.com/Tekh-ops/Garuda-Linux-Icons/refs/heads/master/actions/scalable/dialog-ok-apply.svg" \
|
||||
"$SCRIPT_DIR/colors/icons/correct.svg" \
|
||||
"correct.svg"
|
||||
|
||||
echo
|
||||
ok "All assets prepared successfully."
|
||||
Reference in New Issue
Block a user