aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr/scripts/ZshChangeTheme.sh
diff options
context:
space:
mode:
Diffstat (limited to 'config/hypr/scripts/ZshChangeTheme.sh')
-rwxr-xr-xconfig/hypr/scripts/ZshChangeTheme.sh74
1 files changed, 74 insertions, 0 deletions
diff --git a/config/hypr/scripts/ZshChangeTheme.sh b/config/hypr/scripts/ZshChangeTheme.sh
new file mode 100755
index 00000000..21049317
--- /dev/null
+++ b/config/hypr/scripts/ZshChangeTheme.sh
@@ -0,0 +1,74 @@
+#!/usr/bin/env bash
+# ==================================================
+# KoolDots (2026)
+# Project URL: https://github.com/LinuxBeginnings
+# License: GNU GPLv3
+# SPDX-License-Identifier: GPL-3.0-or-later
+# ==================================================
+# Script for Oh my ZSH theme ( CTRL SHIFT O)
+
+# preview of theme can be view here: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
+# after choosing theme, TTY need to be closed and re-open
+
+# Variables
+iDIR="${XDG_CONFIG_HOME:-$HOME/.config}/swaync/images"
+rofi_theme="${XDG_CONFIG_HOME:-$HOME/.config}/rofi/config-zsh-theme.rasi"
+
+if [ -n "$(grep -i nixos < /etc/os-release)" ]; then
+ notify-send -i "$iDIR/note.png" "NOT Supported" "Sorry NixOS does not support this KooL feature"
+ exit 1
+fi
+
+themes_dir="$HOME/.oh-my-zsh/themes"
+file_extension=".zsh-theme"
+
+
+themes_array=($(find -L "$themes_dir" -type f -name "*$file_extension" -exec basename {} \; | sed -e "s/$file_extension//"))
+
+# Add "Random" option to the beginning of the array
+themes_array=("Random" "${themes_array[@]}")
+
+rofi_command="rofi -i -dmenu -config $rofi_theme"
+
+menu() {
+ for theme in "${themes_array[@]}"; do
+ echo "$theme"
+ done
+}
+
+main() {
+ choice=$(menu | ${rofi_command})
+
+ # if nothing selected, script won't change anything
+ if [ -z "$choice" ]; then
+ exit 0
+ fi
+
+ zsh_path="$HOME/.zshrc"
+ var_name="ZSH_THEME"
+
+ if [[ "$choice" == "Random" ]]; then
+ # Pick a random theme from the original themes_array (excluding "Random")
+ random_theme=${themes_array[$((RANDOM % (${#themes_array[@]} - 1) + 1))]}
+ theme_to_set="$random_theme"
+ notify-send -i "$iDIR/ja.png" "Random theme:" "selected: $random_theme"
+ else
+ # Set theme to the selected choice
+ theme_to_set="$choice"
+ notify-send -i "$iDIR/ja.png" "Theme selected:" "$choice"
+ fi
+
+ if [ -f "$zsh_path" ]; then
+ sed -i "s/^$var_name=.*/$var_name=\"$theme_to_set\"/" "$zsh_path"
+ notify-send -i "$iDIR/ja.png" "OMZ theme" "applied. restart your terminal"
+ else
+ notify-send -i "$iDIR/error.png" "E-R-R-O-R" "~.zshrc file not found!"
+ fi
+}
+
+# Check if rofi is already running
+if pidof rofi > /dev/null; then
+ pkill rofi
+fi
+
+main
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage