Platform Wranglers Meeting Notes: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 50: | Line 50: | ||
*** Complex text difficult | *** Complex text difficult | ||
*** Accessibility difficult | *** Accessibility difficult | ||
** X11 | |||
*** Not much underlying changes on X11 | |||
**** Ubuntu 22.04 in CI | |||
**** Updating RedHat and OpenSuse | |||
*** Increased requests for more XDG support | |||
**** Use XDG services more, file dialogs, drag and drop, etc | |||
**** Harald Sitter (?) knows about KDE drag and drop | |||
** Windows | |||
*** New OS updates every 6 months | |||
**** But usually no new major features | |||
**** CI updates, doesn’t change much | |||
*** Focus areas | |||
**** Finalising Windows 11 style for widgets | |||
**** Modern look of apps | |||
***** Window decorations | |||
**** Windows on ARM | |||
*** Problem areas | |||
**** Windows on ARM, hard to virtualise in CI | |||
** Android | |||
*** Android 14 coming up | |||
**** Been tested in CI | |||
**** Some new permissions we need to deal with | |||
***** Storage permissions deprecated | |||
*** Bumped minimum from Android 6 to Android 8 | |||
*** Focus areas | |||
**** Safe area margins for short edges | |||
**** Refactoring QPA plugin | |||
***** Modernize | |||
***** Remove layers | |||
***** Make more maintainable | |||
**** Generator for JNI APIs | |||
***** Making it easier to invoke Android APIs | |||
** Wayland | |||
*** A set of generated wire protocols | |||
**** Some core protocols, fairly stable, can be expected everywhere (all compositors/servers) | |||
**** Standard body maintains additional extension protocols | |||
***** Some more essential, eg XDG shell | |||
***** Some more esoteric, for car manufacturers etc | |||
*** Some DEs use Wayland nowadays, but also with XWayland for X11 support | |||
**** Gnome | |||
**** Plasma (KDE), switching soon | |||
*** Deadline for Qt adopting a protocol is in practice when a big bistro adopts a DE version that has support for the protocol | |||
*** Focus areas | |||
**** Fractional scaling | |||
**** Support for clients outliving crashing compositors | |||
**** Support for minimised windows | |||
*** Problem areas | |||
**** Popups | |||
***** Windows don’t know their own screen positions | |||
***** Can not control screen positions | |||
***** Popups need to declare intent about where to be placed | |||
***** Possible solutions | |||
****** Turn window geometry into hints to Wayland | |||
****** Expose placement-intent-based API as public Qt API | |||
******* https://codereview.qt-project.org/c/qt/qtbase/+/491545 | |||
**** Qt Quick threaded render out of sync with window resize | |||
***** Needs graphics team attention | |||
**** QWindow setGeometry not emitting geometryChanged | |||
***** We wait until GeometryChangeEvent | |||
**** QWidget updates not going through QWindow::requestUpdate | |||
*Topics | *Topics | ||
**Keyboard input and shortcut handling | **Keyboard input and shortcut handling | ||
*** Investigated at https://bugreports.qt.io/browse/QTBUG-116873 | |||
**Custom window decorations | **Custom window decorations | ||
*** Frameless windows on Windows not usable for the use-cases people have | |||
**** Need to figure out if it's a Windows bug fix, or a missing feature in QWindow | |||
**** Olli to write up summary in JIRA task |
Revision as of 11:11, 14 September 2023
2023
Next
- Roundtable
- New versions/changes in the underlying platform?
- Current focus areas
- Known problem areas
- Features on the horizon
- Topics
- QApplication without exec()
13. September 2023
- Introductions
- Tor Arne - macOS,iOS,QPA
- Morten - WASM
- Oliver - Windows
- Liang - X11
- Assam - Android
- David - Wayand
- Ways of working
- Monthly meeting
- Desktop/mobile platforms
- Roundtable
- iOS
- iOS 17 end of September
- Things mostly work as before
- Moving to FFMpeg for Qt Multimedia
- Technical depth in window management, modern iOS has more advanced window/screen management
- Exposing safe area margins properly as public Qt Quick API (anchors, etc)
- iOS 17 end of September
- macOS
- macOS Sonoma end of September
- No major changes, doing nightly builds, weeding out issues
- One regression in Xcode 15, causing build failures with qmake
- Key/text input, complex text, shortcut handling
- Modern window look, blurred/effect windows, etc
- macOS Sonoma end of September
- WASM
- Emscripten is the SDK
- Follows Chrome release model (4-6 weeks)
- No versions are “more stable” than others
- Upgrade close to feature freeze to get latest fixes
- 32-bit platform (one of our few)
- Has a no-thread build option
- Uses static linking
- WASM64 is coming, looking at that
- Dynamic linking is in the works
- Major challenge is web platform is async, but Qt expects synchronous APIs
- Complex text difficult
- Accessibility difficult
- Emscripten is the SDK
- X11
- Not much underlying changes on X11
- Ubuntu 22.04 in CI
- Updating RedHat and OpenSuse
- Increased requests for more XDG support
- Use XDG services more, file dialogs, drag and drop, etc
- Harald Sitter (?) knows about KDE drag and drop
- Not much underlying changes on X11
- Windows
- New OS updates every 6 months
- But usually no new major features
- CI updates, doesn’t change much
- Focus areas
- Finalising Windows 11 style for widgets
- Modern look of apps
- Window decorations
- Windows on ARM
- Problem areas
- Windows on ARM, hard to virtualise in CI
- New OS updates every 6 months
- Android
- Android 14 coming up
- Been tested in CI
- Some new permissions we need to deal with
- Storage permissions deprecated
- Bumped minimum from Android 6 to Android 8
- Focus areas
- Safe area margins for short edges
- Refactoring QPA plugin
- Modernize
- Remove layers
- Make more maintainable
- Generator for JNI APIs
- Making it easier to invoke Android APIs
- Android 14 coming up
- Wayland
- A set of generated wire protocols
- Some core protocols, fairly stable, can be expected everywhere (all compositors/servers)
- Standard body maintains additional extension protocols
- Some more essential, eg XDG shell
- Some more esoteric, for car manufacturers etc
- Some DEs use Wayland nowadays, but also with XWayland for X11 support
- Gnome
- Plasma (KDE), switching soon
- Deadline for Qt adopting a protocol is in practice when a big bistro adopts a DE version that has support for the protocol
- Focus areas
- Fractional scaling
- Support for clients outliving crashing compositors
- Support for minimised windows
- Problem areas
- Popups
- Windows don’t know their own screen positions
- Can not control screen positions
- Popups need to declare intent about where to be placed
- Possible solutions
- Turn window geometry into hints to Wayland
- Expose placement-intent-based API as public Qt API
- Qt Quick threaded render out of sync with window resize
- Needs graphics team attention
- QWindow setGeometry not emitting geometryChanged
- We wait until GeometryChangeEvent
- QWidget updates not going through QWindow::requestUpdate
- Popups
- A set of generated wire protocols
- iOS
- Topics
- Keyboard input and shortcut handling
- Investigated at https://bugreports.qt.io/browse/QTBUG-116873
- Custom window decorations
- Frameless windows on Windows not usable for the use-cases people have
- Need to figure out if it's a Windows bug fix, or a missing feature in QWindow
- Olli to write up summary in JIRA task
- Frameless windows on Windows not usable for the use-cases people have
- Keyboard input and shortcut handling