Skip to Content
guides-3jkv7xdDecorations

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 pixels

Set to 0 for sharp corners.

Rounding Power

rounding_power = 2

Controls 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 windows

Values range from 0.0 (transparent) to 1.0 (opaque).

Transparency Examples

Subtle transparency for unfocused windows:

active_opacity = 1.0 inactive_opacity = 0.95

Transparent terminal:

active_opacity = 0.9 inactive_opacity = 0.85

Use 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

  1. Reduce blur passes: Use 1 pass instead of 2-3
  2. Lower blur size: Use 2-3 instead of 5-8
  3. Disable blur entirely: Biggest performance gain
  4. 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% opacity

Testing 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 5

Changes are temporary and reset on config reload.

Decoration Tips

  1. Match your theme: Coordinate colors with your GTK/Qt theme
  2. Consider readability: Excessive transparency reduces text legibility
  3. Test on your hardware: Blur performance varies significantly
  4. Use window rules: Different decoration needs for different apps
  5. Start subtle: It’s easier to add effects than remove them

What’s Next

Configure multi-monitor setups with the Monitors guide.