mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 11:32:42 +00:00
feat(config): enforce flat decoration, disable blur and adjust Kitty transparency defaults
This commit is contained in:
1 parent
12c9c568d7
commit
cc2973e744
2 files changed
+61
-69
No files matched your search
@@ -1,4 +1,56 @@
|
||||
-- Change the default Omarchy look'n'feel.
|
||||
--
|
||||
-- Load order is Omarchy defaults -> current theme's hyprland.lua -> this file
|
||||
-- (see $OMARCHY_PATH/default/hypr/omarchy.lua), so whatever is set here is the
|
||||
-- last writer and wins over the theme. That is the point of this file: a theme
|
||||
-- picks colours, the compositor's feel stays ours.
|
||||
|
||||
-- Omarchy 4's decoration defaults, pinned explicitly.
|
||||
--
|
||||
-- Stock quattro is flat and cheap: rounding 0, blur off, shadow off
|
||||
-- ($OMARCHY_PATH/default/hypr/looknfeel.lua). Most third-party themes ship a
|
||||
-- hyprland.lua that turns glass on instead -- Cyberdream and Spectra both did --
|
||||
-- and on this box that is a bad trade: blur at size 6 / 3 passes over an eDP
|
||||
-- panel plus a 5K Studio Display is real frame time on an iGPU sharing system
|
||||
-- memory, and rounded corners plus per-window opacity make the Chromium and
|
||||
-- Electron surfaces (which cannot paint a transparent background themselves)
|
||||
-- show wallpaper where page background should be.
|
||||
--
|
||||
-- Turning blur off globally also neutralises any layer_rule blur a theme adds
|
||||
-- for the Quickshell surfaces: a layer rule cannot blur while
|
||||
-- decoration:blur:enabled is false.
|
||||
hl.config({
|
||||
decoration = {
|
||||
rounding = 0,
|
||||
|
||||
blur = {
|
||||
enabled = false,
|
||||
},
|
||||
|
||||
shadow = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
|
||||
group = {
|
||||
groupbar = {
|
||||
-- Square tab plates, to match rounding = 0 above.
|
||||
gradient_rounding = 0,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Omarchy tags every mapped window `default-opacity` and fades it with this
|
||||
-- rule; themes re-issue it with deeper values (Cyberdream used 0.98 / 0.92).
|
||||
-- Window rules are last-match-wins, so restating the default here puts every
|
||||
-- window that did not explicitly opt out of the tag back on stock fade.
|
||||
-- Terminals keep their own alpha (kitty's `background_opacity`) on top of it.
|
||||
o.window({ tag = "default-opacity" }, { opacity = "0.985 0.96" })
|
||||
|
||||
-- Themes are also free to re-enable the workspace slide (Spectra sets
|
||||
-- `workspaces` with its "flow" bezier); Omarchy's default is off. Restate it.
|
||||
-- workspacesIn/workspacesOut are not overridden anywhere, so they inherit this.
|
||||
hl.animation({ leaf = "workspaces", enabled = false })
|
||||
|
||||
-- https://wiki.hypr.land/Configuring/Basics/Variables/#general
|
||||
-- hl.config({
|
||||
@@ -13,18 +65,6 @@
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- https://wiki.hypr.land/Configuring/Basics/Variables/#decoration
|
||||
-- hl.config({
|
||||
-- decoration = {
|
||||
-- -- Use round window corners.
|
||||
-- rounding = 8,
|
||||
--
|
||||
-- -- Dim unfocused windows (0.0 = no dim, 1.0 = fully dimmed).
|
||||
-- dim_inactive = true,
|
||||
-- dim_strength = 0.15,
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- https://wiki.hypr.land/Configuring/Basics/Variables/#animations
|
||||
-- hl.config({
|
||||
-- animations = {
|
||||
@@ -33,13 +73,6 @@
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- The Spectra theme re-enables the workspace slide (its hyprland.lua sets
|
||||
-- `workspaces` enabled with the "flow" bezier), overriding Omarchy's default
|
||||
-- `hl.animation({ leaf = "workspaces", enabled = false })`. This file loads
|
||||
-- after the theme, so turn it back off here. workspacesIn/workspacesOut are
|
||||
-- not overridden anywhere, so they inherit this.
|
||||
hl.animation({ leaf = "workspaces", enabled = false })
|
||||
|
||||
-- https://wiki.hypr.land/Configuring/Basics/Variables/#layout
|
||||
-- hl.config({
|
||||
-- layout = {
|
||||
@@ -55,51 +88,3 @@ hl.animation({ leaf = "workspaces", enabled = false })
|
||||
-- column_width = 0.97,
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- hyprglass (Apple-style liquid glass) is loaded, but the Spectra theme owns
|
||||
-- blur now: ~/.config/omarchy/themes/spectra/hyprland.lua enables
|
||||
-- decoration:blur for windows and a layer_rule for the Quickshell surfaces.
|
||||
-- Two blur passes over the same surface just costs GPU time, so hyprglass's
|
||||
-- layer pass stays off here. The namespaces it used to whitelist (waybar,
|
||||
-- swaync, quickshell:bezel) do not exist under Omarchy 4 anyway -- the shell is
|
||||
-- Quickshell under omarchy-bar / omarchy-menu / omarchy-notifications / ...
|
||||
-- To hand the shell surfaces back to hyprglass: set layers.enabled = 1, restore
|
||||
-- the hg.layer() calls below with the omarchy-* namespaces, and drop those same
|
||||
-- namespaces from the theme's hl.layer_rule.
|
||||
if hl.plugin.hyprglass then
|
||||
local hg = hl.plugin.hyprglass
|
||||
|
||||
hg.config({
|
||||
default_theme = "dark",
|
||||
default_preset = "clear",
|
||||
tint_color = 0x8899aa22,
|
||||
|
||||
brightness = 0.9,
|
||||
dark = { brightness = 0.82 },
|
||||
light = { adaptive_boost = 0.5 },
|
||||
|
||||
layers = { enabled = 0 },
|
||||
})
|
||||
|
||||
-- Layer surfaces: each call whitelists the namespace and configures it
|
||||
-- hg.layer("omarchy-bar", { preset = "subtle", mask_threshold = 0.05 })
|
||||
-- hg.layer("omarchy-notifications")
|
||||
-- hg.layer("omarchy-menu", { preset = "ui", mask_threshold = 0.3 })
|
||||
|
||||
-- Presets
|
||||
hg.preset("clear", {
|
||||
glass_opacity = 0.8,
|
||||
blur_strength = 1.5,
|
||||
dark = { brightness = 0.7 },
|
||||
light = { brightness = 1.2 },
|
||||
})
|
||||
|
||||
hg.preset("contrasted", {
|
||||
inherits = "high_contrast",
|
||||
contrast = 1.2,
|
||||
adaptive_dim = 1.5,
|
||||
dark = { tint_color = 0x02142aa9 },
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
@@ -3,9 +3,16 @@ font_family VictorMono Nerd Font
|
||||
bold_italic_font auto
|
||||
window_padding_width 8
|
||||
hide_window_decorations yes
|
||||
# Fallback for themes that ship no opacity; the Omarchy theme include at the
|
||||
# bottom of this file overrides it (Spectra sets 0.55).
|
||||
# Transparency: kitty's own alpha, not the compositor's -- Hyprland fades a
|
||||
# window uniformly (chrome included), kitty only makes the cell background
|
||||
# translucent, so text stays fully opaque on top of it.
|
||||
background_opacity 0.9
|
||||
# Per-window blur without global blur. Hyprland 0.56 implements the staging
|
||||
# protocol ext-background-effect-v1 and kitty's Wayland backend speaks it, so
|
||||
# kitty asks the compositor to blur the region behind its own surface. That is
|
||||
# why hypr/looknfeel.lua can keep decoration:blur:enabled = false: nothing else
|
||||
# on screen pays for the blur pass. Needs background_opacity < 1.
|
||||
background_blur 1
|
||||
cursor_blink_interval 1
|
||||
copy_on_select auto
|
||||
strip_trailing_spaces smart
|
||||
|
||||
Reference in new issue
Block a user