diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-10-14 14:05:19 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-10-14 14:06:16 +0300 |
| commit | 0eec911bdabb130415aeb2fc6eb4281b891a5d2f (patch) | |
| tree | 0ab5dfa8ee08d1fc5ecc7092fd43d2cda723d2fa /src/platform/wayland/shell.c | |
| parent | 87279f6903343e621c0446b20d1e7d6a495f1125 (diff) | |
Fix Cocoa backend focus, close, live resize, popups and notifications
- Undecorated windows can become key and main; popups never take focus.
- Undecorated windows stay miniaturizable and resizable unless FIXED_SIZE.
- The close button sends a CLOSE request (windowShouldClose:) and does not
close; the app destroys the surface to comply.
- Refresh runs during live resize: the modal flag is set between
windowWillStartLiveResize: and windowDidEndLiveResize:, and CPU surfaces
refresh before the frame is rendered. A destroyed window clears the flag.
- presentsWithTransaction is only changed for CPU presenters.
- Display open and surface creation return EPERM off the main thread.
- Popups are always CPU surfaces with a software queue, also under a Metal
parent.
- Interactive move and drag start use the recorded mouse-down; without a
press they set ESTALE. Interactive resize and window menu return ENOTSUP.
- Notifications: ENOTSUP outside an app bundle; one authorization request,
notifications queued until it is granted, EACCES after a denial.
- Titles use the full string instead of a 159-byte copy that could split a
UTF-8 sequence.
- finishLaunching runs once per process, not once per display open.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Diffstat (limited to 'src/platform/wayland/shell.c')
0 files changed, 0 insertions, 0 deletions
