Skip to content

Allow ignore exclusive for layer shell windows#1435

Open
Ptitet wants to merge 5 commits into
elkowar:masterfrom
Ptitet:feat/layer-shell-ignore-exclusive
Open

Allow ignore exclusive for layer shell windows#1435
Ptitet wants to merge 5 commits into
elkowar:masterfrom
Ptitet:feat/layer-shell-ignore-exclusive

Conversation

@Ptitet

@Ptitet Ptitet commented Apr 28, 2026

Copy link
Copy Markdown

Description

I changed the :exclusive argument for a window from a boolean to an enum to be able to use the "ignore" behavior as described in https://wayland.app/protocols/wlr-layer-shell-unstable-v1#zwlr_layer_surface_v1:request:set_exclusive_zone. This allows the use of Niri's place-within-backdrop layer feature, which only works when the layer exclusive mode is set to -1. This is now possible with the ignore flag.

Usage

(defwindow mywindow
  :monitor 0
  :geometry (geometry
    :x "70px"
    :y "70px"
    :anchor "bottom left"
  )
  :stacking "bg"
  :exclusive "ignore" ; or "exclusive" or "none"
  "hola"
)

Additional Notes

Closes #1415, I have not followed the suggested implementation but I can update accordingly if needed.

Thanks for this amazing tool !
This is one of my first PRs, if I did anything wrong don't hesitate to mention it.

Checklist

Please make sure you can check all the boxes that apply to this PR.

  • [N/A] All widgets I've added are correctly documented.
  • I added my changes to CHANGELOG.md, if appropriate.
  • The documentation in the docs/content/main directory has been adjusted to reflect my changes.
  • I used cargo fmt to automatically format all code before committing

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.

[FEATURE] Widgets that can ignore "exclusive" option

1 participant