#!/usr/bin/env bash XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}" XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}" CONFIG_DIR="$XDG_CONFIG_HOME/quickshell" CACHE_DIR="$XDG_CACHE_HOME/quickshell" STATE_DIR="$XDG_STATE_HOME/quickshell" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" term_alpha=100 #Set this to < 100 make all your terminals transparent # sleep 0 # idk i wanted some delay or colors dont get applied properly if [ ! -d "$STATE_DIR"/user/generated ]; then mkdir -p "$STATE_DIR"/user/generated fi cd "$CONFIG_DIR" || exit colornames='' colorstrings='' colorlist=() colorvalues=() colornames=$(cat $STATE_DIR/user/generated/material_colors.scss | cut -d: -f1) colorstrings=$(cat $STATE_DIR/user/generated/material_colors.scss | cut -d: -f2 | cut -d ' ' -f2 | cut -d ";" -f1) IFS=$'\n' colorlist=($colornames) # Array of color names colorvalues=($colorstrings) # Array of color values apply_term() { # Check if terminal escape sequence template exists if [ ! -f "$SCRIPT_DIR"/terminal/sequences.txt ]; then echo "Template file not found for Terminal. Skipping that." return fi # Copy template mkdir -p "$STATE_DIR"/user/generated/terminal cp "$SCRIPT_DIR"/terminal/sequences.txt "$STATE_DIR"/user/generated/terminal/sequences.txt # Apply colors for i in "${!colorlist[@]}"; do sed -i "s/${colorlist[$i]} #/${colorvalues[$i]#\#}/g" "$STATE_DIR"/user/generated/terminal/sequences.txt done sed -i "s/\$alpha/$term_alpha/g" "$STATE_DIR/user/generated/terminal/sequences.txt" for file in /dev/pts/*; do if [[ $file =~ ^/dev/pts/[0-9]+$ ]]; then { cat "$STATE_DIR"/user/generated/terminal/sequences.txt >"$file" } & disown || true fi done } apply_qt() { sh "$CONFIG_DIR/scripts/kvantum/materialQT.sh" # generate kvantum theme python "$CONFIG_DIR/scripts/kvantum/changeAdwColors.py" # apply config colors } apply_ags() { pidof agsv1 && agsv1 run-js "handleStyles(false);" pidof agsv1 && agsv1 run-js 'openColorScheme.value = true; Utils.timeout(2000, () => openColorScheme.value = false);' } apply_ags & apply_qt & apply_term &