Make colours universal across all configs
This commit is contained in:
53
README.md
53
README.md
@@ -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
10
colors.conf
Normal 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
|
||||
@@ -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
|
||||
|
||||
|
||||
#####################################
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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,45 +73,45 @@ 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 {
|
||||
@@ -118,5 +120,5 @@ window#waybar {
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #FF5370;
|
||||
background-color: var(--color-tertiary);
|
||||
}
|
||||
50
wofi/style.css
Normal file
50
wofi/style.css
Normal 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);
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user