core: backend support matrix #1315

Open
opened 2024-12-01 21:24:45 +00:00 by emidoots · 1 comment
emidoots commented 2024-12-01 21:24:45 +00:00 (Migrated from github.com)

The goal of this issue is to keep track of what mach.Core features work on which platforms, with the aim of eventual consistency among all our custom windowing backends.

Feature Windows Darwin Linux/wayland Linux/x11
Single window
Object fields Windows Darwin Linux/wayland Linux/x11
.title
.framebuffer_width/height (read-only)
.vsync_mode
.display_mode
.cursor_mode
.cursor_shape
.width/height
.refresh_rate
.decorated
.decoration_color
.transparent (not yet existing)
.always_on_top (not yet existing)
Events Windows Darwin Linux/wayland Linux/x11
event.key_press
event.key_repeat
event.key_release
event.char_input
event.mouse_motion
event.mouse_press
event.mouse_release
event.mouse_scroll
event.window_resize
event.window_open
event.zoom_gesture
event.focus_gained
event.focus_lost
event.close

Not yet being tracked:

  • Multiple window support
  • Controller input
  • Touch / multi-touch input
  • Support for alternative platforms: VR, Browser, iOS, Android
The goal of this issue is to keep track of what `mach.Core` features work on which platforms, with the aim of eventual consistency among all our custom windowing backends. | Feature | Windows | Darwin | Linux/wayland | Linux/x11 | |------------------------|---------|--------|---------------|-----------| | Single window | ✅ | ✅ | ✅ | ✅ | | Object fields | Windows | Darwin | Linux/wayland | Linux/x11 | |-----------------------------------|---------|--------|---------------|-----------| | .title | | | | | | .framebuffer_width/height (read-only) | | | | | | .vsync_mode | | | | | | .display_mode | | | | | | .cursor_mode | | | | | | .cursor_shape | | | | | | .width/height | | | | | | .refresh_rate | | | | | | .decorated | | | | | | .decoration_color | | | | | | .transparent (not yet existing) | | | | | | .always_on_top (not yet existing) | | | | | | Events | Windows | Darwin | Linux/wayland | Linux/x11 | |------------------------|---------|--------|---------------|-----------| | event.key_press | | | | | | event.key_repeat | | | | | | event.key_release | | | | | | event.char_input | | | | | | event.mouse_motion | | | | | | event.mouse_press | | | | | | event.mouse_release | | | | | | event.mouse_scroll | | | | | | event.window_resize | | | | | | event.window_open | | | | | | event.zoom_gesture | | | | | | event.focus_gained | | | | | | event.focus_lost | | | | | | event.close | | | | | Not yet being tracked: * Multiple window support * Controller input * Touch / multi-touch input * Support for alternative platforms: VR, Browser, iOS, Android
msg-programs commented 2025-06-06 09:13:06 +00:00 (Migrated from github.com)

I think it'd be nice if you could find these tables on the website. They'd fit nicely under /about/platforms or, even better, somewhere close to the respective module's docs (if the docs are planned to be structured like this).

I think it'd be nice if you could find these tables on the website. They'd fit nicely under `/about/platforms` or, even better, somewhere close to the respective module's docs (if the docs are planned to be structured like this).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hexops/mach#1315
No description provided.