Compare commits

..

3 Commits

Author SHA1 Message Date
0e0ae462bc update wofi so it has corrects styles 2026-03-06 15:39:27 +00:00
bb7df51c39 add way to generate color config files 2026-03-06 15:39:14 +00:00
2d2f069a7d Update to use GTK variable names 2026-03-06 15:38:25 +00:00
5 changed files with 95 additions and 38 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*/colors.css
*/colors.conf

View File

@@ -133,7 +133,7 @@ bind = $mod, Return, exec, $terminal
bind = $mod SHIFT, Q, killactive bind = $mod SHIFT, Q, killactive
# Launcher (wofi replaces dmenu) # Launcher (wofi replaces dmenu)
bind = $mod, D, exec, wofi --show run --style ~/scripts/wofi/wofi_style.css bind = $mod, D, exec, wofi --show run --style ~/scripts/wofi/style.css
# To approximate your dmenu colors, configure wofi's style.css # To approximate your dmenu colors, configure wofi's style.css
# Pavucontrol # Pavucontrol

55
sh/gen-colors Executable file
View File

@@ -0,0 +1,55 @@
#!/bin/sh
# Generate color fragment files for all configs from colors.conf
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
SRC="$SCRIPT_DIR/colors.conf"
if [ ! -f "$SRC" ]; then
echo "Error: $SRC not found" >&2
exit 1
fi
# Read colors into variables
while IFS='=' read -r key value; do
case "$key" in \#* | "") continue ;; esac
eval "color_$key=$value"
done <"$SRC"
# Hyprland: $color_name = rgb(HEXVAL) format (no #)
{
while IFS='=' read -r key value; do
case "$key" in \#* | "") continue ;; esac
hex="${value#\#}"
echo "\$color_$key = rgb($hex)"
done <"$SRC"
} >"$SCRIPT_DIR/hypr/colors.conf"
echo "Wrote hypr/colors.conf"
# Sway: set $color_name #HEXVAL
{
while IFS='=' read -r key value; do
case "$key" in \#* | "") continue ;; esac
echo "set \$color_$key $value"
done <"$SRC"
} >"$SCRIPT_DIR/sway/colors.conf"
echo "Wrote sway/colors.conf"
# i3: same format as sway
cp "$SCRIPT_DIR/sway/colors.conf" "$SCRIPT_DIR/i3/colors.conf"
echo "Wrote i3/colors.conf"
# Waybar CSS: @define-color color_name #HEXVAL;
{
while IFS='=' read -r key value; do
case "$key" in \#* | "") continue ;; esac
echo "@define-color color_$key $value;"
done <"$SRC"
} >"$SCRIPT_DIR/waybar/colors.css"
echo "Wrote waybar/colors.css"
# Wofi CSS: same as waybar
cp "$SCRIPT_DIR/waybar/colors.css" "$SCRIPT_DIR/wofi/colors.css"
echo "Wrote wofi/colors.css"
echo "Done. All color fragments generated."

View File

@@ -11,39 +11,39 @@
} }
window#waybar { window#waybar {
background-color: var(--color-bg); background-color: @color_bg;
color: var(--color-primary); color: @color_primary;
} }
/* Workspaces */ /* Workspaces */
#workspaces button { #workspaces button {
padding: 0 8px; padding: 0 8px;
background-color: var(--color-alt_bg); background-color: @color_alt_bg;
color: var(--color-white); color: @color_white;
border-bottom: 2px solid transparent; border-bottom: 2px solid transparent;
} }
#workspaces button:hover { #workspaces button:hover {
background-color: var(--color-alt_bg); background-color: @color_alt_bg;
border-bottom: 2px solid var(--color-primary); border-bottom: 2px solid @color_primary;
box-shadow: none; box-shadow: none;
} }
#workspaces button.focused, #workspaces button.focused,
#workspaces button.active { #workspaces button.active {
background-color: var(--color-bg); background-color: @color_bg;
color: var(--color-white); color: @color_white;
border-bottom: 2px solid var(--color-primary); border-bottom: 2px solid @color_primary;
} }
#workspaces button.urgent { #workspaces button.urgent {
background-color: var(--color-tertiary); background-color: @color_tertiary;
color: var(--color-white); color: @color_white;
} }
#mode { #mode {
background-color: var(--color-tertiary); background-color: @color_tertiary;
color: var(--color-text_dark); color: @color_text_dark;
padding: 0 8px; padding: 0 8px;
font-style: italic; font-style: italic;
} }
@@ -60,7 +60,7 @@ window#waybar {
#battery, #battery,
#clock { #clock {
padding: 0 10px; padding: 0 10px;
color: var(--color-primary); color: @color_primary;
} }
/* Pink separators between modules (matching i3bar separator color) */ /* Pink separators between modules (matching i3bar separator color) */
@@ -73,45 +73,45 @@ window#waybar {
#network, #network,
#battery, #battery,
#clock { #clock {
border-left: 1px solid var(--color-tertiary); border-left: 1px solid @color_tertiary;
} }
#battery.warning { #battery.warning {
color: var(--color-secondary); color: @color_secondary;
} }
#battery.critical { #battery.critical {
color: var(--color-tertiary); color: @color_tertiary;
} }
#custom-greetings { #custom-greetings {
color: var(--color-secondary); color: @color_secondary;
} }
#clock { #clock {
color: var(--color-tertiary); color: @color_tertiary;
} }
/* claudebar severity classes */ /* claudebar severity classes */
#custom-claudebar.low { #custom-claudebar.low {
color: var(--color-primary); color: @color_primary;
} }
#custom-claudebar.mid { #custom-claudebar.mid {
color: var(--color-secondary); color: @color_secondary;
} }
#custom-claudebar.high { #custom-claudebar.high {
color: var(--color-tertiary); color: @color_tertiary;
} }
#custom-claudebar.critical { #custom-claudebar.critical {
color: var(--color-tertiary); color: @color_tertiary;
} }
#tray { #tray {
padding: 0 8px; padding: 0 8px;
border-left: 1px solid var(--color-tertiary); border-left: 1px solid @color_tertiary;
} }
#tray > .passive { #tray > .passive {
@@ -120,5 +120,5 @@ window#waybar {
#tray > .needs-attention { #tray > .needs-attention {
-gtk-icon-effect: highlight; -gtk-icon-effect: highlight;
background-color: var(--color-tertiary); background-color: @color_tertiary;
} }

View File

@@ -1,29 +1,29 @@
@import url("colors.css"); @import "/home/adamf/scripts/wofi/colors.css";
window { window {
margin: 0px; margin: 0px;
border: 1px solid var(--color-primary); border: 1px solid @color_primary;
background-color: var(--color-bg); background-color: @color_bg;
border-radius: 8px; border-radius: 8px;
} }
#input { #input {
padding: 4px 8px; padding: 4px 8px;
margin: 6px; margin: 6px;
color: var(--color-text_light); color: @color_text_light;
background-color: var(--color-alt_bg); background-color: @color_alt_bg;
border: 1px solid var(--color-primary); border: 1px solid @color_primary;
border-radius: 4px; border-radius: 4px;
} }
#inner-box { #inner-box {
background-color: var(--color-bg); background-color: @color_bg;
} }
#outer-box { #outer-box {
margin: 4px; margin: 4px;
padding: 4px; padding: 4px;
background-color: var(--color-bg); background-color: @color_bg;
} }
#scroll { #scroll {
@@ -33,7 +33,7 @@ window {
#text { #text {
margin: 2px 8px; margin: 2px 8px;
color: var(--color-primary); color: @color_primary;
} }
#entry { #entry {
@@ -41,10 +41,10 @@ window {
} }
#entry:selected { #entry:selected {
background-color: var(--color-alt_bg); background-color: @color_alt_bg;
border: 1px solid var(--color-primary); border: 1px solid @color_primary;
} }
#text:selected { #text:selected {
color: var(--color-tertiary); color: @color_tertiary;
} }