aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xLICENSE21
-rw-r--r--README.md11
-rwxr-xr-xcycle_wall.sh11
-rwxr-xr-xsave-theme.sh10
-rwxr-xr-xset-theme.sh70
-rwxr-xr-xtargets/waybar.sh169
-rwxr-xr-xtargets/wezterm.sh28
-rwxr-xr-xthemes/apprentice.sh22
-rwxr-xr-xthemes/bluloco-zsh-light.sh22
-rwxr-xr-xthemes/forest.sh36
-rwxr-xr-xthemes/main-theme.sh22
-rwxr-xr-xthemes/rose-pine.sh22
-rwxr-xr-xthemes/solarized-light.sh57
-rwxr-xr-xthemes/solarized.sh57
-rwxr-xr-xthemes/tokyo-night-storm.sh22
15 files changed, 580 insertions, 0 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100755
index 0000000..d54d7cc
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 iceyrazor
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..010a663
--- /dev/null
+++ b/README.md
@@ -0,0 +1,11 @@
+a set of scripts to set the theme of things
+
+i could use pywall. but i wanted to make my own thing
+
+# usage
+- ``set-theme.sh -h``
+- ``cycle-wall.sh "fullpath/to/wallpaper" "dont unload"`` will use hyprwall to cycle a wallpaper and use pywall to get the colors and set them. if the 2nd arg has anything in it. it wont unload the current wallpaper
+- ``save-theme.sh "name"`` saves the colors from pywall.
+
+# targets
+when set-theme is run. it will source everything in targets. curently its only set for wezterm and waybar. but if you want other things to be set add a new script there.
diff --git a/cycle_wall.sh b/cycle_wall.sh
new file mode 100755
index 0000000..7c39ba2
--- /dev/null
+++ b/cycle_wall.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+cd "$(dirname "$0")"
+
+current_wal="$(hyprctl hyprpaper listactive | grep HDMI-A-1 | sed 's/HDMI-A-1 = //')"
+
+hyprctl hyprpaper preload $1 && hyprctl hyprpaper wallpaper "HDMI-A-1,$1"
+if [ "$2" == "" ]; then
+ hyprctl hyprpaper unload "$current_wal"
+fi
+
+./set-theme.sh -p
diff --git a/save-theme.sh b/save-theme.sh
new file mode 100755
index 0000000..2dfb7c3
--- /dev/null
+++ b/save-theme.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+cd "$(dirname "$0")"
+
+if [ "$1" == "" ]; then
+ echo theme name not set :\<
+ exit 1
+fi
+
+cp ~/.cache/wal/colors.sh "./themes/$1.sh"
+chmod u+x "./themes/$1.sh"
diff --git a/set-theme.sh b/set-theme.sh
new file mode 100755
index 0000000..d4d9833
--- /dev/null
+++ b/set-theme.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+# CONFIG
+ignore_background_color="#04000a"
+highlight="#08000a"
+
+# END CONFIG
+cd "$(dirname "$0")"
+
+ignore_file=0
+list_files=0
+ignore_background=0
+run_pywal=0
+
+while getopts "h?lpb" opt; do
+ case "$opt" in
+ h)
+ printf -- " -l list themes
+-p run pywall
+-b ignore background and use one defined in script"
+ exit 0
+ ;;
+ l) list_files=1
+ ;;
+ b) ignore_background=1
+ ;;
+ p) run_pywal=1
+ ignore_file=1
+ ;;
+ esac
+done
+
+shift $((OPTIND-1))
+[ "${1:-}" = "--" ] && shift
+
+theme_file=$1
+
+if [ $list_files == 1 ]; then
+ ls $1 ./themes/
+ exit 0
+fi
+
+if [ "$theme_file" == "" ]; then
+ theme_file=main-theme
+fi
+
+if [ $ignore_file == 0 ]; then
+ source ./themes/$theme_file.sh || exit 1
+fi
+
+
+if [ $run_pywal == 1 ]; then
+ if [ $(pgrep hyprpaper) ]; then
+ wallpaper=$(hyprctl hyprpaper listactive | grep HDMI | sed 's/HDMI-A-1 = //')
+ wal -seti "$wallpaper"
+ . "$HOME/.cache/wal/colors.sh"
+ [ $ignore_background == 1 ] && background="$ignore_background_color"
+ else
+ echo NO AVAILABLE WALLPAPER ENGINE
+ echo please define wallpaper
+ exit 1
+ fi
+fi
+
+[ $ignore_background == 1 ] && background="$ignore_background_color"
+
+runs_dir="$(find ./targets -mindepth 1 -maxdepth 1 -type f -executable)"
+for s in $runs_dir; do
+ source "$s"
+done
diff --git a/targets/waybar.sh b/targets/waybar.sh
new file mode 100755
index 0000000..d2d354d
--- /dev/null
+++ b/targets/waybar.sh
@@ -0,0 +1,169 @@
+fileout="$HOME/.config/waybar/style.css"
+
+printf "* {
+ font-family: JetbrainsMono Nerd Font;
+ font-size: 13px;
+ min-height: 0;
+ padding-right: 2px;
+ padding-left: 2px;
+ padding-bottom: 0px;
+}
+
+#waybar {
+ background: transparent;
+ color: $color7;
+ margin: 2px 2px;
+}
+
+#workspaces {
+ border-radius: 5px;
+ margin: 5px;
+ background: $color0;
+ margin-left: 2px;
+}
+
+#workspaces button {
+ color: $color5;
+ border-radius: 5px;
+ padding: 0.4rem;
+}
+
+#workspaces button.active {
+ color: $color14;
+ border-radius: 5px;
+}
+
+button {
+ background: transparent;
+}
+
+#workspaces button:hover {
+ background: $color8;
+ border: 0px solid transparent;
+}
+
+#custom-music,
+#tray,
+#backlight,
+#clock,
+#battery,
+#pulseaudio,
+#network,
+#cpu,
+#memory,
+#custom-lock,
+#custom-power,
+#custom-weather,
+#custom-uptime,
+#custom-rss,
+#custom-disc,
+#custom-mic,
+#custom-docker {
+ background-color: $color0;
+ padding: 0.5rem 1rem;
+ margin: 5px 0;
+}
+
+#clock {
+ color: $color4;
+ border-radius: 0px;
+}
+
+#custom-weather {
+ color: $color4;
+ margin-left: 0.5rem;
+ border-radius: 5px;
+}
+
+#battery {
+ color: #a6d189;
+}
+
+#battery.charging {
+ color: #a6d189;
+}
+
+#battery.warning:not(.charging) {
+ color: #e78284;
+}
+
+#backlight {
+ color: #e5c890;
+}
+
+#backlight,
+#battery {
+ border-radius: 0;
+}
+
+#pulseaudio {
+ color: $color9;
+}
+
+#custom-mic{
+ color: $color9;
+ border-radius: 5px 0px 0px 5px;
+}
+
+#custom-docker {
+ color: $color4;
+}
+
+#custom-music {
+ color: #ca9ee6;
+ border-radius: 5px;
+}
+
+#custom-lock {
+ color: #babbf1;
+}
+
+#custom-power {
+ margin-right: 1rem;
+ border-radius: 0px 5px 5px 0px;
+ color: #e78284;
+}
+
+#custom-docker.docker {
+ color: #85c1dc;
+}
+
+#custom-docker.docker-none {
+ color: #737994;
+}
+
+#custom-docker.docker-error {
+ color: #e78284;
+}
+
+#custom-weather.clear {
+ color: #e5c890; /* Sunny yellow */
+}
+
+#custom-weather.cloud {
+ color: #99d1db; /* Light blue */
+}
+
+#custom-weather.rain {
+ color: #8caaee; /* Blue */
+}
+
+#custom-weather.snow {
+ color: #c6d0f5; /* White-ish */
+}
+
+#custom-weather.thunder {
+ color: #ca9ee6; /* Purple */
+}
+
+#custom-weather.fog {
+ color: #b0b4bc; /* Gray */
+}
+
+#custom-weather.error {
+ color: $color0; /* Red */
+}" > "$fileout"
+
+sleep 0.1s
+pkill waybar
+nohup waybar > /dev/null 2> /dev/null < /dev/null & disown
diff --git a/targets/wezterm.sh b/targets/wezterm.sh
new file mode 100755
index 0000000..168c1e4
--- /dev/null
+++ b/targets/wezterm.sh
@@ -0,0 +1,28 @@
+fileout="$HOME/.config/wezterm/colors.lua"
+
+printf "return {
+ foreground = '$foreground',
+ background = '$background',
+ cursor_fg = '$cursor',
+ selection_bg = '$highlight',
+ ansi = {
+ '$color0',
+ '$color1',
+ '$color2',
+ '$color3',
+ '$color4',
+ '$color5',
+ '$color6',
+ '$color7',
+ },
+ brights = {
+ '$color8',
+ '$color9',
+ '$color10',
+ '$color11',
+ '$color12',
+ '$color13',
+ '$color14',
+ '$color15',
+ }
+}" > "$fileout"
diff --git a/themes/apprentice.sh b/themes/apprentice.sh
new file mode 100755
index 0000000..c5e5c6c
--- /dev/null
+++ b/themes/apprentice.sh
@@ -0,0 +1,22 @@
+foreground='#e6e6e6'
+# background='#101010'
+background='#04000a'
+highlight='#08000a'
+cursor='#fabd2f'
+
+color0='#1C1C1C'
+color1='#AF5F5F'
+color2='#5F875F'
+color3='#87875F'
+color4='#5F87AF'
+color5='#5F5F87'
+color6='#5F8787'
+color7='#6C6C6C'
+color8='#444444'
+color9='#FF8700'
+color10='#87AF87'
+color11='#FFFFAF'
+color12='#8FAFD7'
+color13='#8787AF'
+color14='#5FAFAF'
+color15='#FFFFFF'
diff --git a/themes/bluloco-zsh-light.sh b/themes/bluloco-zsh-light.sh
new file mode 100755
index 0000000..eb6cc99
--- /dev/null
+++ b/themes/bluloco-zsh-light.sh
@@ -0,0 +1,22 @@
+foreground='#e6e6e6'
+# background='#101010'
+background='#04000a'
+highlight='#08000a'
+cursor='#fabd2f'
+
+color0='#E4E5F1'
+color1='#D52753'
+color2='#23974A'
+color3='#DF631C'
+color4='#275FE4'
+color5='#823FF1'
+color6='#27618D'
+color7='#000000'
+color8='#5794DE'
+color9='#FF6480'
+color10='#3CBC66'
+color11='#C5A332'
+color12='#0099E1'
+color13='#CE33C0'
+color14='#6D93BB'
+color15='#26272D'
diff --git a/themes/forest.sh b/themes/forest.sh
new file mode 100755
index 0000000..4fa305c
--- /dev/null
+++ b/themes/forest.sh
@@ -0,0 +1,36 @@
+# Shell variables
+# Generated by 'wal'
+wallpaper='/home/iceyrazor/stuff/media/wallpapers/Screenshot_20240903_201357.png'
+
+# Special
+background='#1b1a15'
+foreground='#d7d7d7'
+cursor='#d7d7d7'
+
+# Colors
+color0='#1b1a15'
+color1='#BD9E4A'
+color2='#9F8C6F'
+color3='#4D6E97'
+color4='#6891AF'
+color5='#A79B91'
+color6='#93B0D2'
+color7='#d7d7d7'
+color8='#969696'
+color9='#BD9E4A'
+color10='#9F8C6F'
+color11='#4D6E97'
+color12='#6891AF'
+color13='#A79B91'
+color14='#93B0D2'
+color15='#d7d7d7'
+
+# FZF colors
+export FZF_DEFAULT_OPTS="
+ $FZF_DEFAULT_OPTS
+ --color fg:7,bg:0,hl:1,fg+:232,bg+:1,hl+:255
+ --color info:7,prompt:2,spinner:1,pointer:232,marker:1
+"
+
+# Fix LS_COLORS being unreadable.
+export LS_COLORS="${LS_COLORS}:su=30;41:ow=30;42:st=30;44:"
diff --git a/themes/main-theme.sh b/themes/main-theme.sh
new file mode 100755
index 0000000..6de3822
--- /dev/null
+++ b/themes/main-theme.sh
@@ -0,0 +1,22 @@
+foreground='#e6e6e6'
+# background='#101010'
+background='#04000a'
+highlight='#08000a'
+cursor='#fabd2f'
+
+color0='#263640'
+color1='#d12f2c'
+color2='#819400'
+color3='#b08500'
+color4='#2587cc'
+color5='#696ebf'
+color6='#289c93'
+color7='#bfbaac'
+color8='#4a697d'
+color9='#fa3935'
+color10='#a4bd00'
+color11='#d9a400'
+color12='#09a2f5'
+color13='#8086e8'
+color14='#00c5ba'
+color15='#fdf6e3'
diff --git a/themes/rose-pine.sh b/themes/rose-pine.sh
new file mode 100755
index 0000000..511d3ca
--- /dev/null
+++ b/themes/rose-pine.sh
@@ -0,0 +1,22 @@
+foreground="#9bced7"
+foreground_bold="#eaeaea"
+background="#1f1d29"
+highlight="#2f2f2f"
+cursor="#524f67"
+
+color0="#403c58"
+color1="#ea6f91"
+color2="#9bced7"
+color3="#f1ca93"
+color4="#34738e"
+color5="#c3a5e6"
+color6="#eabbb9"
+color7="#faebd7"
+color8="#6f6e85"
+color9="#ea6f91"
+color10="#9bced7"
+color11="#f1ca93"
+color12="#34738e"
+color13="#c3a5e6"
+color14="#eabbb9"
+color15="#ffffff"
diff --git a/themes/solarized-light.sh b/themes/solarized-light.sh
new file mode 100755
index 0000000..ad5ec6e
--- /dev/null
+++ b/themes/solarized-light.sh
@@ -0,0 +1,57 @@
+base03="#002b36"
+base02="#073642"
+base01="#586e75"
+base00="#657b83"
+base0="#839496"
+base1="#93a1a1"
+base2="#eee8d5"
+base3="#fdf6e3"
+yellow="#b58900"
+orange="#cb4b16"
+red="#dc322f"
+magenta="#d33682"
+violet="#6c71c4"
+blue="#268bd2"
+cyan="#2aa198"
+green="#859900"
+
+foreground=$base00
+background=$base3
+cursor=$base01
+highlight=$base2
+
+color0=$base2
+color1=$red
+color2=$green
+color3=$yellow
+color4=$blue
+color5=$magenta
+color6=$cyan
+color7=$base02
+color8=$base3
+color9=$orange
+color10=$base1
+color11=$base0
+color12=$base00
+color13=$violet
+color14=$base01
+color15=$base03
+
+# SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB
+# --------- ------- ---- ------- ----------- ---------- ----------- -----------
+# base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21
+# base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26
+# base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46
+# base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51
+# base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59
+# base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63
+# base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93
+# base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99
+# yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71
+# orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80
+# red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86
+# magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83
+# violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77
+# blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82
+# cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63
+# green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
diff --git a/themes/solarized.sh b/themes/solarized.sh
new file mode 100755
index 0000000..bc59e37
--- /dev/null
+++ b/themes/solarized.sh
@@ -0,0 +1,57 @@
+base03="#002b36"
+base02="#073642"
+base01="#586e75"
+base00="#657b83"
+base0="#839496"
+base1="#93a1a1"
+base2="#eee8d5"
+base3="#fdf6e3"
+yellow="#b58900"
+orange="#cb4b16"
+red="#dc322f"
+magenta="#d33682"
+violet="#6c71c4"
+blue="#268bd2"
+cyan="#2aa198"
+green="#859900"
+
+foreground=$base0
+background=$base03
+cursor=$base1
+highlight=$base02
+
+color0=$base02
+color1=$red
+color2=$green
+color3=$yellow
+color4=$blue
+color5=$magenta
+color6=$cyan
+color7=$base2
+color8=$base03
+color9=$orange
+color10=$base01
+color11=$base00
+color12=$base0
+color13=$violet
+color14=$base1
+color15=$base3
+
+# SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB
+# --------- ------- ---- ------- ----------- ---------- ----------- -----------
+# base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21
+# base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26
+# base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46
+# base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51
+# base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59
+# base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63
+# base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93
+# base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99
+# yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71
+# orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80
+# red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86
+# magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83
+# violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77
+# blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82
+# cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63
+# green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
diff --git a/themes/tokyo-night-storm.sh b/themes/tokyo-night-storm.sh
new file mode 100755
index 0000000..b7d5b5e
--- /dev/null
+++ b/themes/tokyo-night-storm.sh
@@ -0,0 +1,22 @@
+foreground='#a9b1d6'
+# background='#101010'
+background='#1a1b26'
+highlight='#2a2b36'
+cursor='#fabd2f'
+
+color0='#32344a'
+color1='#f7768e'
+color2='#9ece6a'
+color3='#e0af68'
+color4='#7aa2f7'
+color5='#ad8ee6'
+color6='#449dab'
+color7='#787c99'
+color8='#444b6a'
+color9='#ff7a93'
+color10='#b9f27c'
+color11='#ff9e64'
+color12='#7da6ff'
+color13='#bb9af7'
+color14='#0db9d7'
+color15='#acb0d0'