Smithay / client-toolkit

Smithay's toolkit for writing wayland clients
MIT License
270 stars 77 forks source link

set_margin() of layer surface doesn't affects the pointer #460

Open JarKz opened 2 months ago

JarKz commented 2 months ago

Description

My task is using this library for rendering stack of notifications. Firstly I tried the example about layer surface and I liked it. So I add some code for creating more than one layer surfaces. For stacking I use the LayerSurface::set_margin to avoid collision. But I ended up with one annoying problem - the set_margin doesn't affect the pointer. When I move the layer by the set_margin method and don't move the pointer, the clicks will be delivered to the moved layer which is nonsense.

What do I do?

wash2 commented 2 months ago

Assuming the margin is visibly applied, and you've set a margin on anchored edges, I think this is most likely a compositor issue. Have you tested your application in sway or another compositor that supports layer shell?

JarKz commented 2 months ago

Thank you for the answer, I appreciate it! Yeah, the changes are visible and the layouts are anchored.

I tried it only on the Hyprland compositor and haven't tried on any other.

At sunday I'll check this behavior on the sway and I'll give the feedback.