mach
mach copied to clipboard
core: backend support matrix
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
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).