The xdg-decoration protocol files caused a linker error
(xdg_toplevel_interface undefined) since we switched to the KDE
server-decoration protocol. Removed. Added make build-check
target that runs flutter build linux to catch native compilation
failures that flutter test misses.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace xdg-decoration (needs xdg_toplevel, GTK3 doesn't expose it)
with org_kde_kwin_server_decoration (works with wl_surface which
GDK provides). On KDE Wayland: binds the manager from the registry,
creates a per-surface decoration object, requests mode=None (0).
Falls back gracefully on GNOME (protocol not present, GTK's
set_decorated(FALSE) already works). X11 fallback via
gdk_window_set_decorations(0) unchanged.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace XWayland fallback with proper xdg-decoration protocol
negotiation. On Wayland: binds zxdg_decoration_manager_v1 from
the compositor registry, requests CLIENT_SIDE mode on the toplevel
surface — KWin respects this and drops server-side decorations.
Falls back to gdk_window_set_decorations(0) + set_decorated(FALSE)
on X11. GDK_BACKEND=x11 removed from Makefile.
Also fixes mouse-jumping glitch: startDrag and startResize now
pass screen coordinates from Flutter's globalPosition through the
method channel to gtk_window_begin_move/resize_drag.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>