Skip to content

Restore GNOME Wayland window controls without bundled fonts - #1598

Open
danielmigueltejedor wants to merge 3 commits into
storytold:mainfrom
danielmigueltejedor:fix/gnome-window-decorations
Open

danielmigueltejedor wants to merge 3 commits into
storytold:mainfrom
danielmigueltejedor:fix/gnome-window-decorations

Conversation

@danielmigueltejedor

@danielmigueltejedor danielmigueltejedor commented Oct 15, 2026 •

Copy link
Copy Markdown

GNOME Wayland leaves window decorations to the client, but the desktop build did not enable a frame renderer. Enable winit’s Adwaita vector minimize, maximize/restore and close controls without a title-font renderer. The outer client frame intentionally omits title text; window titles remain available to the desktop and EffectCraft keeps its existing header UI.

The feature is Linux-only. X11 and compositors offering server decorations retain their existing frame path and backend-selection behavior. Include sctk-adwaita’s MIT notice in packaged NOTICE. No font or other asset files are added, no Cantarell is embedded, and no engine, GPU, UI implementation or tests change.

Validation with Rust 1.98.1 on Linux:

  • Formatting, workspace/all-target release clippy with warnings denied, layering, asset attribution, WebAssembly (32 crates) and the native desktop build pass. Local release test builds disabled LTO and selected 16 codegen units through environment overrides; repository build profiles are unchanged.
  • Complete optimized workspace tests with --no-fail-fast, using LANG=C.UTF-8, LC_ALL=C.UTF-8, LANGUAGE=en so label-based tests use their expected English: 3,415 passed, 26 ignored, 6 failed. All six failures are existing GPU/CPU pixel comparisons: tests_fx_noise::{dust_strict_threshold_boundaries,dust_threshold_on_quantized_input,large_radius_medians,medians}, tests_fx_stylize::posterize_thresholds_strobe_vignette, tests_fx_transition::grid_and_scale_wipes. Running the entire GPU library suite on a clean archive of unchanged upstream main 0311bdc34d0dc10c2d18ff7875b4f52d483e5e27 with the same compiler/profile/device environment gives 206 passed and the exact same six failures. No assertions are skipped or weakened; the repository gate retains these baseline comparison failures.
  • Patched binary launched and all three screenshots inspected in isolated GNOME Wayland, X11/XWayland and Cage/wlroots sessions, using the system’s Spanish interface. GNOME shows three correct vector controls; X11 preserves its existing frame, and wlroots preserves server-decoration negotiation. Maximize/restore/minimize/unminimize complete in GNOME/X11. Capture waits for a window with nonzero dimensions and visible UI.
  • The resolved decoration dependency has no title-font features. Packaging copies the exact updated NOTICE and passes shell syntax validation.

KDE itself and native Windows/macOS execution were not available for runtime testing. Maintainers may need to authorize this fork’s GitHub Actions checks.

@danielmigueltejedor danielmigueltejedor changed the title Fix GNOME/Wayland window controls Restore GNOME Wayland window controls without bundled fonts Oct 16, 2026
@danielmigueltejedor
danielmigueltejedor marked this pull request as ready for review October 16, 2026 13:02

This branch has not been deployed

No deployments
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.

1 participant