Last Updated: 3/12/2026
Decorations
Decorations control the visual appearance of windows in Hyprland: rounding, shadows, blur, and opacity. This guide covers all decoration options for creating your ideal aesthetic.
Decoration Configuration
Decorations are configured in the decoration block:
decoration {
rounding = 10
rounding_power = 2
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}Corner Rounding
Basic Rounding
rounding = 10 # Rounding radius in pixelsSet to 0 for sharp corners.
Rounding Power
rounding_power = 2Controls the rounding curve. Higher values create more pronounced curves. The default 2 provides natural-looking rounded corners.
Window Opacity
Active and Inactive Opacity
active_opacity = 1.0 # Focused window (1.0 = fully opaque)
inactive_opacity = 1.0 # Unfocused windowsValues range from 0.0 (transparent) to 1.0 (opaque).
Transparency Examples
Subtle transparency for unfocused windows:
active_opacity = 1.0
inactive_opacity = 0.95Transparent terminal:
active_opacity = 0.9
inactive_opacity = 0.85Use with window rules to apply per-app:
windowrule {
match:class = kitty
opacity = 0.9
}Shadows
Shadows add depth to windows:
shadow {
enabled = true
range = 4 # Shadow size
render_power = 3 # Shadow intensity
color = rgba(1a1a1aee) # Shadow color
}Shadow Properties
- range: Shadow blur radius (higher = larger, softer shadow)
- render_power: Shadow darkness (higher = darker)
- color: RGBA color value
Disable Shadows
shadow {
enabled = false
}Custom Shadow Colors
shadow {
enabled = true
range = 6
render_power = 4
color = rgba(000000cc) # Black shadow, 80% opacity
}Blur
Blur creates a frosted-glass effect for transparent windows:
blur {
enabled = true
size = 3 # Blur radius
passes = 1 # Blur iterations (more = stronger, slower)
vibrancy = 0.1696 # Color vibrancy through blur
}Blur Properties
- size: Blur radius (higher = more blur)
- passes: Number of blur iterations (1-3 typical, higher = performance cost)
- vibrancy: Preserves color saturation (0.0-1.0)
Performance-Friendly Blur
blur {
enabled = true
size = 2
passes = 1
vibrancy = 0.1
}Strong Blur Effect
blur {
enabled = true
size = 8
passes = 3
vibrancy = 0.3
}Disable Blur
blur {
enabled = false
}Blur is GPU-intensive. Disable on lower-end hardware.
Complete Decoration Examples
Minimal (No Effects)
decoration {
rounding = 0
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = false
}
blur {
enabled = false
}
}Modern (Subtle Effects)
decoration {
rounding = 10
rounding_power = 2
active_opacity = 1.0
inactive_opacity = 0.95
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}Dramatic (Heavy Effects)
decoration {
rounding = 15
rounding_power = 3
active_opacity = 0.95
inactive_opacity = 0.85
shadow {
enabled = true
range = 10
render_power = 5
color = rgba(000000dd)
}
blur {
enabled = true
size = 8
passes = 3
vibrancy = 0.3
}
}Per-Window Decorations
Use window rules to override decoration settings per app:
Transparent Terminal
windowrule {
match:class = kitty
opacity = 0.9
}No Rounding for Specific Apps
windowrule {
match:class = ^(firefox|chromium)$
rounding = 0
}Custom Border for Floating Windows
windowrule {
match:float = true
border_size = 3
rounding = 15
}Decoration Performance
Impact on Performance
- Rounding: Minimal impact
- Shadows: Low impact
- Opacity: Minimal impact
- Blur: High impact (especially with multiple passes)
Optimizing for Performance
- Reduce blur passes: Use 1 pass instead of 2-3
- Lower blur size: Use 2-3 instead of 5-8
- Disable blur entirely: Biggest performance gain
- Keep shadows moderate:
range = 4,render_power = 3
Color Format
Colors use RGBA hex format:
color = rgba(RRGGBBaa)- RR: Red (00-ff)
- GG: Green (00-ff)
- BB: Blue (00-ff)
- aa: Alpha/opacity (00-ff)
Examples:
rgba(1a1a1aee) # Dark gray, 93% opacity
rgba(000000cc) # Black, 80% opacity
rgba(ffffffff) # White, 100% opacityTesting Decorations
Live Reload
Decoration changes apply instantly when you save your config. Experiment with different values to find your preferred aesthetic.
Runtime Changes
Test decoration values with hyprctl:
hyprctl keyword decoration:rounding 15
hyprctl keyword decoration:active_opacity 0.95
hyprctl keyword decoration:blur:size 5Changes are temporary and reset on config reload.
Decoration Tips
- Match your theme: Coordinate colors with your GTK/Qt theme
- Consider readability: Excessive transparency reduces text legibility
- Test on your hardware: Blur performance varies significantly
- Use window rules: Different decoration needs for different apps
- Start subtle: It’s easier to add effects than remove them
What’s Next
Configure multi-monitor setups with the Monitors guide.