Skip to content

wayland/background-effect: add ext-background-effect-v1 (blur region)#566

Open
bbedward wants to merge 3 commits intoquickshell-mirror:masterfrom
bbedward:ext-bg-effect
Open

wayland/background-effect: add ext-background-effect-v1 (blur region)#566
bbedward wants to merge 3 commits intoquickshell-mirror:masterfrom
bbedward:ext-bg-effect

Conversation

@bbedward
Copy link
Contributor

@bbedward bbedward commented Feb 13, 2026

core/region: add radius to create rounded regions

Adds BackgroundEffect that allows setting blur region on layer shell surfaces, additionally adds a radius option to Region similar to the vicinae pattern for making approximate rounded regions.

To test on a supported compositor: qs -p src/wayland/background_effect/test/manual/background_effect.qml

Usage is as:

BackgroundEffect.blurRegion: Region {
        item: root.contentItem
}

core/region: add radius to create rounded regions
@YaLTeR
Copy link

YaLTeR commented Feb 14, 2026

Seems the region passed to the protocol also needs to be offset by the Qt CSD, if any:

image

Better visibility of the region:

image

@bbedward bbedward marked this pull request as ready for review February 14, 2026 16:29
@outfoxxed
Copy link
Member

outfoxxed commented Feb 16, 2026

For consistency with existing interfaces, this should probably be an attached object. See HyprlandWindow for an example.

Do we have any options for blur opacity exposed?

@bbedward
Copy link
Contributor Author

For consistency with existing interfaces, this should probably be an attached object. See HyprlandWindow for an example.

Changed it to an attached object, the only downside I guess is my thought was getting a BackgroundEffect.active to tell if the compositor had applied it/supported it

Do we have any options for blur opacity exposed?

That's not exposed by the protocol, its just blurRegion and capabilities { blur } pretty much. The effect parameters themselves would be set elsewhere, like niri's compositor config in this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments