Make colours universal across all configs

This commit is contained in:
2026-03-06 15:16:38 +00:00
parent f67b61c6f4
commit 1b4e009cd0
9 changed files with 171 additions and 115 deletions

View File

@@ -27,25 +27,30 @@ Pick a window manager section below, then add the shared configs.
### Hyprland
```bash
ln -sf ~/scripts/hyprland/hyprland.conf ~/.config/hypr/hyprland.conf
ln -sf ~/scripts/waybar/waybar_hyprland_config.json ~/.config/waybar/config
ln -sf ~/scripts/waybar/waybar_style.css ~/.config/waybar/style.css
ln -sf ~/scripts/wofi/wofi_style.css ~/.config/wofi/style.css
ln -sf ~/scripts/hypr ~/.config/hypr
ln -sf ~/scripts/waybar ~/.config/waybar
ln -sf ~/scripts/wofi ~/.config/wofi
```
### Sway
```bash
ln -sf ~/scripts/sway/swayconfig ~/.config/sway/config
ln -sf ~/scripts/waybar/waybar_sway_config.json ~/.config/waybar/config
ln -sf ~/scripts/waybar/waybar_style.css ~/.config/waybar/style.css
ln -sf ~/scripts/wofi/wofi_style.css ~/.config/wofi/style.css
ln -sf ~/scripts/sway ~/.config/sway
ln -sf ~/scripts/waybar ~/.config/waybar
ln -sf ~/scripts/wofi ~/.config/wofi
```
The default waybar config (`waybar/config`) is set up for Hyprland. For Sway, rename the sway config as the active one:
```bash
mv ~/scripts/waybar/config ~/scripts/waybar/config.hypr.json
mv ~/scripts/waybar/waybar_sway_config.json ~/scripts/waybar/config
```
### i3
```bash
ln -sf ~/scripts/i3/i3config ~/.config/i3/config
ln -sf ~/scripts/i3 ~/.config/i3
ln -sf ~/scripts/i3/i3blocks.conf ~/.config/i3blocks/config
ln -sf ~/scripts/i3/i3status.conf ~/.config/i3status/config
```
@@ -163,6 +168,35 @@ Prefix is <kbd>Ctrl</kbd> + <kbd>f</kbd>.
| `Prefix + Ctrl + s` | Save session (resurrect) |
| `Prefix + Ctrl + r` | Restore session (resurrect) |
## Colorscheme
All colors are defined in a single file: `colors.conf`. A generator script produces format-specific fragments that each config sources or imports.
To change the theme:
```bash
# 1. Edit the palette
vim ~/scripts/colors.conf
# 2. Regenerate fragments
~/scripts/sh/gen-colors
# 3. Reload your WM / bar
hyprctl reload # Hyprland
swaymsg reload # Sway
killall waybar && waybar & # Waybar
```
Generated files (committed so configs work after a fresh clone):
| File | Format | Used by |
| --- | --- | --- |
| `hypr/colors.conf` | `$color_name = rgb(HEXVAL)` | `hyprland.conf` (source) |
| `sway/colors.conf` | `set $color_name #HEXVAL` | `swayconfig` (include) |
| `i3/colors.conf` | `set $color_name #HEXVAL` | `i3config` (include) |
| `waybar/colors.css` | CSS custom properties | `waybar/style.css` (@import) |
| `wofi/colors.css` | CSS custom properties | `wofi/style.css` (@import) |
## Scripts
All in `sh/`, added to `$PATH` via the shell config above.
@@ -172,3 +206,4 @@ All in `sh/`, added to `$PATH` via the shell config above.
| `sharefile <file>` | Upload a file to 0x0.st |
| `getfile <id>` | Download a file from 0x0.st |
| `waybar-history` | Stream the last zsh history entry to waybar |
| `gen-colors` | Regenerate color fragments from `colors.conf` |

10
colors.conf Normal file
View File

@@ -0,0 +1,10 @@
primary=#55ffbb
secondary=#62ff57
tertiary=#ff579a
bg=#1b110e
bg_secondary=#000000
alt_bg=#024942
gray=#222222
text_light=#F0F0F0
text_dark=#1b110e
white=#FFFFFF

View File

@@ -1,6 +1,8 @@
# Hyprland config - converted from i3 config by Adam French
# https://wiki.hyprland.org/Configuring/
source = ~/scripts/hypr/colors.conf
################
### MONITORS ###
################
@@ -58,8 +60,8 @@ general {
gaps_out = 0 # outer gaps (i3: gaps outer 0)
border_size = 1
col.active_border = rgb(C792EA)
col.inactive_border = rgb(6272A4)
col.active_border = $color_primary
col.inactive_border = $color_gray
resize_on_border = true
allow_tearing = false
@@ -342,12 +344,13 @@ windowrule {
##############################
# Your theme palette for use in waybar / wofi CSS:
# Background: #1A1B2F
# Accent 1: #C792EA (purple)
# Accent 2: #FF79C6 (pink)
# Accent 3: #82AAFF (blue)
# Inactive: #6272A4
# Surface: #2A2B3D
# Background: #1b110e
# BG Secondary: #000000
# Primary: #55ffbb (green)
# Secondary: #62ff57 (lime)
# Tertiary: #ff579a (pink)
# Quaternary: #024942 (dark teal)
# Link: #222222
#####################################

View File

@@ -1,5 +1,7 @@
# This is my personal personal i3 config file! - Adam French
include ~/scripts/i3/colors.conf
# WORKSPACE NAMES -----------------------------------
set $ws1 1:ツ
set $ws2 2:ಠ‿ಠ
@@ -72,7 +74,7 @@ bindsym $mod+Return exec kitty
# kill focused window
bindsym $mod+Shift+q kill
# start program launcher
bindsym $mod+d exec --no-startup-id dmenu_run -nb '#1A1B2F' -sf '#FF79C6' -sb '#1A1B2F' -nf '#c792EA'
bindsym $mod+d exec --no-startup-id dmenu_run -nb '$color_bg' -sf '$color_tertiary' -sb '$color_bg' -nf '$color_primary'
bindsym $mod+Ctrl+m exec pavucontrol
@@ -339,14 +341,14 @@ bar {
strip_workspace_numbers yes
colors {
background #1A1B2F
statusline #C792EA
separator #FF79C6
focused_workspace #C792EA #1A1B2F #FFFFFF
active_workspace #C792EA #2A2B3D #FFFFFF
inactive_workspace #6272A4 #2A2B3D #FFFFFF
binding_mode #FF79C6 #1A1B2F #FFFFFF
urgent_workspace #FF5370 #2A2B3D #FFFFFF
background $color_bg
statusline $color_primary
separator $color_tertiary
focused_workspace $color_primary $color_bg $color_white
active_workspace $color_primary $color_alt_bg $color_white
inactive_workspace $color_gray $color_alt_bg $color_white
binding_mode $color_tertiary $color_bg $color_white
urgent_workspace $color_tertiary $color_alt_bg $color_white
}
}
@@ -354,14 +356,14 @@ bar {
bindsym $mod+m bar mode toggle
# Theme colors
# class border backgr. text indic. child_border
client.focused #82AAFF #C792EA #FFFFFF #C792EA
client.focused_inactive #C792EA #2A2B3D #F0F0F0 #FF79C6
client.unfocused #6272A4 #2A2B3D #F0F0F0 #C792EA
client.urgent #FF5370 #2A2B3D #FFFFFF #FF79C6
client.placeholder #1A1B2F #1A1B2F #FFFFFF #1A1B2F
# class border backgr. text indic.
client.focused $color_secondary $color_primary $color_text_dark $color_primary
client.focused_inactive $color_primary $color_alt_bg $color_text_light $color_tertiary
client.unfocused $color_gray $color_alt_bg $color_text_light $color_primary
client.urgent $color_tertiary $color_alt_bg $color_white $color_tertiary
client.placeholder $color_bg $color_bg $color_white $color_bg
client.background #1A1B2F
client.background $color_bg
# Set inner/outer gaps
gaps inner 10

View File

@@ -1,3 +1,5 @@
include ~/scripts/sway/colors.conf
output * scale 1.2
@@ -313,14 +315,14 @@ for_window [urgent=latest] focus
exec_always waybar -c ~/scripts/waybar/waybar_sway_config.json -s ~/scripts/waybar/waybar_style.css
# Theme colors
# class border backgr. text indic. child_border
client.focused #82AAFF #C792EA #FFFFFF #C792EA
client.focused_inactive #C792EA #2A2B3D #F0F0F0 #FF79C6
client.unfocused #6272A4 #2A2B3D #F0F0F0 #C792EA
client.urgent #FF5370 #2A2B3D #FFFFFF #FF79C6
client.placeholder #1A1B2F #1A1B2F #FFFFFF #1A1B2F
# class border backgr. text indic.
client.focused $color_secondary $color_primary $color_text_dark $color_primary
client.focused_inactive $color_primary $color_alt_bg $color_text_light $color_tertiary
client.unfocused $color_gray $color_alt_bg $color_text_light $color_primary
client.urgent $color_tertiary $color_alt_bg $color_white $color_tertiary
client.placeholder $color_bg $color_bg $color_white $color_bg
client.background #1A1B2F
client.background $color_bg
# Set inner/outer gaps
gaps inner 10

View File

@@ -1,3 +1,5 @@
@import "colors.css";
* {
font-family: "URWGothic-Book", monospace;
font-size: 16px;
@@ -9,39 +11,39 @@
}
window#waybar {
background-color: #1A1B2F;
color: #C792EA;
background-color: var(--color-bg);
color: var(--color-primary);
}
/* Workspaces */
#workspaces button {
padding: 0 8px;
background-color: #2A2B3D;
color: #FFFFFF;
background-color: var(--color-alt_bg);
color: var(--color-white);
border-bottom: 2px solid transparent;
}
#workspaces button:hover {
background-color: #2A2B3D;
border-bottom: 2px solid #C792EA;
background-color: var(--color-alt_bg);
border-bottom: 2px solid var(--color-primary);
box-shadow: none;
}
#workspaces button.focused,
#workspaces button.active {
background-color: #1A1B2F;
color: #FFFFFF;
border-bottom: 2px solid #C792EA;
background-color: var(--color-bg);
color: var(--color-white);
border-bottom: 2px solid var(--color-primary);
}
#workspaces button.urgent {
background-color: #FF5370;
color: #FFFFFF;
background-color: var(--color-tertiary);
color: var(--color-white);
}
#mode {
background-color: #FF79C6;
color: #1A1B2F;
background-color: var(--color-tertiary);
color: var(--color-text_dark);
padding: 0 8px;
font-style: italic;
}
@@ -58,7 +60,7 @@ window#waybar {
#battery,
#clock {
padding: 0 10px;
color: #C792EA;
color: var(--color-primary);
}
/* Pink separators between modules (matching i3bar separator color) */
@@ -71,52 +73,52 @@ window#waybar {
#network,
#battery,
#clock {
border-left: 1px solid #FF79C6;
border-left: 1px solid var(--color-tertiary);
}
#battery.warning {
color: #FFB86C;
color: var(--color-secondary);
}
#battery.critical {
color: #FF5370;
color: var(--color-tertiary);
}
#custom-greetings {
color: #f5af19;
color: var(--color-secondary);
}
#clock {
color: #FF79C6;
color: var(--color-tertiary);
}
/* claudebar severity classes */
#custom-claudebar.low {
color: #50FA7B;
color: var(--color-primary);
}
#custom-claudebar.mid {
color: #F1FA8C;
color: var(--color-secondary);
}
#custom-claudebar.high {
color: #FFB86C;
color: var(--color-tertiary);
}
#custom-claudebar.critical {
color: #FF5370;
color: var(--color-tertiary);
}
#tray {
padding: 0 8px;
border-left: 1px solid #FF79C6;
border-left: 1px solid var(--color-tertiary);
}
#tray>.passive {
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray>.needs-attention {
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #FF5370;
background-color: var(--color-tertiary);
}

50
wofi/style.css Normal file
View File

@@ -0,0 +1,50 @@
@import url("colors.css");
window {
margin: 0px;
border: 1px solid var(--color-primary);
background-color: var(--color-bg);
border-radius: 8px;
}
#input {
padding: 4px 8px;
margin: 6px;
color: var(--color-text_light);
background-color: var(--color-alt_bg);
border: 1px solid var(--color-primary);
border-radius: 4px;
}
#inner-box {
background-color: var(--color-bg);
}
#outer-box {
margin: 4px;
padding: 4px;
background-color: var(--color-bg);
}
#scroll {
margin: 0px;
padding: 4px;
}
#text {
margin: 2px 8px;
color: var(--color-primary);
}
#entry {
border-radius: 4px;
}
#entry:selected {
background-color: var(--color-alt_bg);
border: 1px solid var(--color-primary);
}
#text:selected {
color: var(--color-tertiary);
}

View File

@@ -1,48 +0,0 @@
window {
margin: 0px;
border: 1px solid #82AAFF;
background-color: #1A1B2F;
border-radius: 8px;
}
#input {
padding: 4px 8px;
margin: 6px;
color: #F0F0F0;
background-color: #2A2B3D;
border: 1px solid #C792EA;
border-radius: 4px;
}
#inner-box {
background-color: #1A1B2F;
}
#outer-box {
margin: 4px;
padding: 4px;
background-color: #1A1B2F;
}
#scroll {
margin: 0px;
padding: 4px;
}
#text {
margin: 2px 8px;
color: #C792EA;
}
#entry {
border-radius: 4px;
}
#entry:selected {
background-color: #2A2B3D;
border: 1px solid #C792EA;
}
#text:selected {
color: #FF79C6;
}