40 lines
1.3 KiB
Bash
40 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# Shared logging helpers — source this in every module
|
|
|
|
GREEN="\e[32m"
|
|
YELLOW="\e[33m"
|
|
RED="\e[31m"
|
|
RESET="\e[0m"
|
|
|
|
log() { printf "${GREEN}[+] %s${RESET}\n" "$*"; }
|
|
skip() { printf "${YELLOW}[~] %s${RESET}\n" "$*"; }
|
|
warn() { printf "${YELLOW}[!] %s${RESET}\n" "$*" >&2; }
|
|
err() { printf "${RED}[✖] %s${RESET}\n" "$*" >&2; }
|
|
|
|
ensure_flatpak() {
|
|
if ! command -v flatpak &>/dev/null; then
|
|
log "Installing flatpak..."
|
|
sudo pacman -S --noconfirm --needed flatpak
|
|
fi
|
|
if ! flatpak remotes 2>/dev/null | grep -q flathub; then
|
|
log "Adding Flathub remote..."
|
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
fi
|
|
}
|
|
|
|
apply_flatpak_theme() {
|
|
local app_id="$1"
|
|
local theme_name="cyberqueer"
|
|
local theme_src="$HOME/Dotfiles/gtk-themes/$theme_name"
|
|
local themes_dir="$HOME/.themes"
|
|
if [[ ! -d "$theme_src" ]]; then
|
|
warn "Cyberqueer theme not found at $theme_src — skipping Flatpak theme override."
|
|
return 0
|
|
fi
|
|
mkdir -p "$themes_dir"
|
|
cp -r "$theme_src" "$themes_dir/$theme_name"
|
|
flatpak override --user --filesystem="$themes_dir":ro "$app_id"
|
|
flatpak override --user --env=GTK_THEME="$theme_name" "$app_id"
|
|
log "Cyberqueer theme applied to $app_id."
|
|
}
|