Skip to content

Support glass effect on layer surfaces (bars, docks, QuickShell, AGS widgets, ...) #6

Description

@Tronix117

The glass effect currently only applies to windows. Layer surfaces like status bars, docks, and notification panels (including QuickShell, AGS widgets, etc...) don't get the effect.

This is because Hyprland's plugin API only provides a way to attach custom decorations to windows (IHyprWindowDecoration / addWindowDecoration). Layer surfaces go through a different rendering path and there's simply no equivalent API for them.

To support layers, we'd likely need to hook into the layer rendering pipeline directly using createFunctionHook, match layers by namespace, and run the same blur + glass pass with the layer's geometry. It's doable but will take some work, and the hook would be sensitive to Hyprland version changes.

A cleaner long-term path would be for Hyprland to expose a decoration API for layers, but that's an upstream decision.

I'll try to find a way, this issue will follow the progress.

Hi,

First off, great work on the plugin. I wanted to ask: is it possible to enable it for layers or namespaces beyond just windows? For example, I have a top bar, a control center, and a dock, each in a different namespace and rendered with Cairo, but they aren't receiving the plugin's effect.

Is there any way to inject the effect into AGS widgets?

Thanks!

Originally posted by @aalonx in #3

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions