Skip to content

Conversation

@leolost2605
Copy link
Member

@leolost2605 leolost2605 commented Jul 27, 2025

What we currently achieve by setting a custom size via our wayland protocol is actually supported by default in wayland via the shadow width which maps to frame rect and buffer rect in mutter. I only found out about shadow width recently so I always thought frame rect and buffer rect are somewhat broken or rather use something else 😬

Setting the shadow width ourselves allows us to remove the custom size method from our wayland protocol and the custom rect handling which has caused a few issues in the past because of wrong coordinate conversion on different scaling factors and methods. (See elementary/wingpanel#568, elementary/wingpanel#594, elementary/gala#2139, etc.)

Fixes #351 (On X that requires a dock restart for some reason? I think that's due to a bug in gala but I will investigate in a follow up since ig it's at least better than main)

@leolost2605 leolost2605 force-pushed the leolost/shadow-width branch from 5450618 to 2a81e75 Compare July 27, 2025 10:03
@leolost2605 leolost2605 requested a review from a team July 27, 2025 10:25
Copy link
Member

@danirabbit danirabbit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job! This works perfectly for me both HiDPI and LoDPI. Just one small suggestion

Co-authored-by: Danielle Foré <[email protected]>
@leolost2605 leolost2605 requested a review from danirabbit July 27, 2025 20:41
@danirabbit danirabbit merged commit 3323bb0 into main Jul 27, 2025
4 checks passed
@danirabbit danirabbit deleted the leolost/shadow-width branch July 27, 2025 21:23
@leolost2605 leolost2605 mentioned this pull request Aug 2, 2025
5 tasks
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.

When Dock is always visible, change window maximize behavior to place window bottom edge above dock top edge

3 participants