Skip to content

docs(linux): clarify toolkit-specific windowing contracts - #194921

Draft
richyo-codes wants to merge 2 commits into
flutter:masterfrom
richyo-codes:pr/linux-windowing-api-preparation
Draft

richyo-codes wants to merge 2 commits into
flutter:masterfrom
richyo-codes:pr/linux-windowing-api-preparation

Conversation

@richyo-codes

@richyo-codes richyo-codes commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Description

GTK4 integration exposed GTK3-specific assumptions in the experimental Linux windowing interfaces. This PR documents were some GTK3 toolkit specific API's are used that would need to be solved if GTK4 were to be implemented.

The comments clarify:

  • Native registration requires a GTK3 GtkWindow; supporting hosts such as GTK4 GtkPopover requires changes to the registrar and its consumers.
  • Interactive move/resize needs toolkit-specific input context; root coordinates and a timestamp are insufficient for GTK4.
  • App-paintable behavior is distinct from portable transparency or decoration requests.
  • GTK3 and GTK4 GdkRGBA structures have different binary layouts.
  • Exported internal FFI signatures must match their framework bindings; adding parameters changes the calling contract.

This is a comments-only preparation PR. It changes no runtime behavior, signatures, layouts, or dependencies and does not introduce GTK4 support. API redesign and implementation remain separate follow-ups.

Related: #94804, #30701, and #193405.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@github-actions github-actions Bot added framework flutter/packages/flutter repository. See also f: labels. engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically a: desktop Running on desktop team-linux Owned by the Linux platform team labels Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: desktop Running on desktop engine flutter/engine related. See also e: labels. framework flutter/packages/flutter repository. See also f: labels. missing-tests platform-linux Building on or for Linux specifically team-linux Owned by the Linux platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant