summaryrefslogtreecommitdiff
path: root/yasl-gaps-report.md
diff options
context:
space:
mode:
authorBerke Güzel <wenekar1@gmail.com>2026-10-12 22:49:52 +0300
committerBerke Güzel <wenekar1@gmail.com>2026-10-12 22:49:52 +0300
commit47bd4dbe2e4a576a1f02507e9a87502d99df4f52 (patch)
tree86964635b0f6f083dd799d8e367c4d1be2babdfd /yasl-gaps-report.md
parentac84186b2c91c4ce6334fde71af3b41d0d83f729 (diff)
feat(x11): implement interactive resize, window menu, IME caret/preedit, and advertise YASL_CAP_CSD
Diffstat (limited to 'yasl-gaps-report.md')
-rw-r--r--yasl-gaps-report.md43
1 files changed, 13 insertions, 30 deletions
diff --git a/yasl-gaps-report.md b/yasl-gaps-report.md
index 36386a5..0268913 100644
--- a/yasl-gaps-report.md
+++ b/yasl-gaps-report.md
@@ -60,45 +60,28 @@ Effect: dropping files onto a terminal window does nothing on X11.
Needed in yasl: XDND file-drop handling for X11.
-### 4. IME preedit is missing on X11 (yasl)
+### 4. IME preedit on X11 (yasl)
-The X11 input context uses `XIMPreeditNothing`. The yasl README already
-says X11 does not support IME preedit text.
+Status: **Resolved**. Added `XNSpotLocation` candidate placement via `yasl_surface_set_ime_caret`, along with `yasl_surface_ime_preedit` and `yasl_surface_ime_preedit_cursor` backend operations.
-Effect: composed text (for example CJK input) does not show inline on X11.
+### 5. Cocoa popups (yasl)
-## Popups, selection, and caps
+Status: **Resolved** in commit `b20263c`. Child window popups implemented, and `YASL_CAP_POPUPS` is advertised.
-### 5. Cocoa has no popups (yasl)
+### 6. X11 popups (yasl)
-`cocoa_surface_create_popup` and `cocoa_surface_popup_reposition` are
-stubs that return NULL or false. `cocoa_display_caps` does not set
-`YASL_CAP_POPUPS`.
+Status: **Resolved** in commit `b20263c`. Override-redirect popups implemented, and `YASL_CAP_POPUPS` is advertised.
-Effect: the project's native menu popup is off on macOS. `open_popup` in
-`src/window/ui/ui_menu.c` returns false, so the menu stays in the window.
+### 7. Cocoa primary selection (yasl)
-### 6. X11 has no popups (yasl)
+Status: **Resolved** in commit `b20263c`. Dedicated pasteboard emulation implemented, and `YASL_CAP_PRIMARY_SELECTION` is advertised.
-`caps()` in `src/x11/window.c` does not set `YASL_CAP_POPUPS`.
+### 8. X11 and Cocoa CSD and frame pacing flags (yasl)
-Effect: same as item 5. Menus stay in the window on X11.
-
-### 7. Cocoa has no primary selection (yasl)
-
-`cocoa_display_caps` does not set `YASL_CAP_PRIMARY_SELECTION`. yasl says an
-unsupported primary selection is a no-op.
-
-Effect: select-to-copy and middle-click paste do nothing on macOS. The
-terminal calls these in `src/window/terminal/view.c` (`window_copy` and
-`window_paste` with `YASL_PRIMARY`).
-
-### 8. X11 and Cocoa have no CSD or frame pacing flags (yasl)
-
-These caps are set on Wayland only. Cocoa sets `YASL_CAP_FRAME_PACING`.
-X11 sets neither. The project does not read these flags for drawing
-decisions in the current code. Check this before you rely on pacing on
-X11.
+Status: **Resolved**.
+- Cocoa advertises `YASL_CAP_CSD` and `YASL_CAP_FRAME_PACING`.
+- X11 advertises `YASL_CAP_CSD` with full `_NET_WM_MOVERESIZE` interactive move/resize and `_GTK_SHOW_WINDOW_MENU`.
+- The `yasl_run` application runner regulates X11 frame pacing at ~16ms for continuous surfaces to prevent spinloops.
## Project-side gaps (wsap_term)