feat: multiple styles for hyprland

This commit is contained in:
2 * r + 2 * t 2025-04-25 17:58:32 +10:00
parent ec4f065e63
commit 9b43444509
8 changed files with 95 additions and 29 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
/hyprland/ignore.conf
/hyprland/overrides.conf
/scheme/current.conf
/hyprlock.conf

View file

@ -31,11 +31,7 @@ gestures {
}
general {
# Gaps and border
gaps_in = 10
gaps_out = 40
gaps_workspaces = 20
border_size = 3
layout = dwindle
@ -95,6 +91,10 @@ source = $hypr/rules.conf
source = $hypr/keybinds.conf
source = $hypr/colours.conf
# Overrides for different styles
exec = ~/.config/hypr/scripts/get-overrides.fish
source = $hypr/overrides.conf
# Stuff to not put in git
exec = test -f $hypr/ignore.conf || touch $hypr/ignore.conf
source = $hypr/ignore.conf

View file

@ -2,23 +2,12 @@ exec-once = ~/.config/hypr/scripts/monitor-scheme.fish
exec = ~/.config/hypr/scripts/gen-scheme.fish
source = ~/.config/hypr/scheme/current.conf
general {
col.active_border = rgba($primarye6)
col.inactive_border = rgba($subtext111)
}
decoration {
shadow {
color = rgba($based4)
}
}
group {
groupbar {
text_color = rgb($base)
col.active = rgb($primary)
col.active = rgba($primaryd4)
col.inactive = rgba($overlay2d4)
col.locked_active = rgb($primary)
col.locked_active = rgba($primaryd4)
col.locked_inactive = rgba($secondaryd4)
}
}
@ -26,5 +15,3 @@ group {
misc {
background_color = rgb($crust)
}
windowrulev2 = bordercolor rgb($tertiary) rgba($tertiary88), pinned:1

View file

@ -1,6 +1,5 @@
decoration {
rounding = 10
rounding_power = 10
blur {
enabled = true
@ -10,16 +9,9 @@ decoration {
new_optimizations = true
popups = true
input_methods = true
size = 4
passes = 2
contrast = 0.8
vibrancy = 0.2
vibrancy_darkness = 0.2
}
shadow {
enabled = true
range = 10
render_power = 3
}
}

View file

@ -1,6 +1,5 @@
# ######## Window rules ########
windowrule = opacity 0.95 override, fullscreen:0 # Applies transparency to not fullscreen windows
windowrule = opaque, class:foot
windowrule = opaque, class:foot|equibop # They use native transparency
windowrule = center 1, floating:1, xwayland:0 # Center all floating windows (not xwayland cause popups)
# Float

15
scripts/get-overrides.fish Executable file
View file

@ -0,0 +1,15 @@
#!/bin/fish
set -l src (dirname (status filename))
set -q XDG_CONFIG_HOME && set -l config $XDG_CONFIG_HOME/caelestia || set -l config $HOME/.config/caelestia
test -f $config/hypr.json && set -l style (jq -r '.hyprland.style' $config/hypr.json)
test -f "$src/templates/hyprland/$style.conf" || set -l style gaps
set -l template $src/templates/hyprland/$style.conf
set -l dest $src/../hyprland/overrides.conf
if ! diff -qN $template $dest > /dev/null
cp $template $dest
hyprctl reload
end

View file

@ -0,0 +1,40 @@
decoration {
blur {
size = 7
passes = 4
contrast = 0.8
vibrancy = 0.2
vibrancy_darkness = 0.2
}
shadow {
range = 5
render_power = 3
color = rgba($overlay2d4)
}
# Dim inactive windows
dim_inactive = true
dim_strength = 0.1
}
general {
# Gaps and border
gaps_in = 5
gaps_out = 10
border_size = 0
col.active_border = rgb($subtext1)
col.inactive_border = rgba($subtext194)
}
# Pinned windows border
windowrulev2 = bordercolor rgb($primary) rgba($primary94), pinned:1
windowrule = bordersize 2, pinned:1
# Border for windows on special workspaces
workspace = s[true], bordersize:2
# Transparency for not fullscreen windows
windowrule = opacity 0.9 override, fullscreen:0
windowrule = opacity 0.95 override, fullscreen:0, class:zen|firefox|GitHub Desktop|cod(e|ium)

View file

@ -0,0 +1,32 @@
decoration {
blur {
size = 8
passes = 2
}
shadow {
range = 20
render_power = 3
color = rgba($based4)
}
}
general {
# Gaps and border
gaps_in = 10
gaps_out = 40
border_size = 3
col.active_border = rgba($primarye6)
col.inactive_border = rgba($subtext111)
}
# Pinned windows border
windowrulev2 = bordercolor rgb($tertiary) rgba($tertiary88), pinned:1
# Reduce gaps when only one tiled
workspace = w[tv1]s[false], gapsout:20, gapsin:20
workspace = f[1]s[false], gapsout:20, gapsin:20
# Transparency for not fullscreen windows
windowrule = opacity 0.95 override, fullscreen:0