feat: Shadows and CSD for frameless windows on Wayland (#49295)

* fix window sizing and content sizing on Linux when CSD is in use

* fixed size constraints

* layout helper

* CSD shadows for frameless windows on Linux

* simplify min/max size calculation

* use base window size for min/max

* respect HasShadow option

* moved windows min/max size overrides

* add newline at end of file

* fix setting background color for frameless csd windows

* fix wco positioning nad sizing to match prod

* safety improvements
This commit is contained in:
Mitchell Cohen
2026-02-19 19:53:13 -05:00
committed by GitHub
parent 5ddd8a0200
commit ea89ba5b8d
14 changed files with 424 additions and 173 deletions

View File

@@ -196,8 +196,7 @@ void NativeWindow::InitFromOptions(const gin_helper::Dictionary& options) {
if (bool val; options.Get(options::kMovable, &val))
SetMovable(val);
if (bool val; options.Get(options::kHasShadow, &val))
SetHasShadow(val);
SetHasShadow(options.ValueOrDefault(options::kHasShadow, true));
if (double val; options.Get(options::kOpacity, &val))
SetOpacity(val);