# Winit meeting 2025-06-05
Date: 2025-06-05T07:00:00Z (UTC)
Attended: @madsmtm, @daxpedda, @kchibisov
Last meeting notes: <https://hackmd.io/QBAvViPuT56mxR1KV9nrrQ>
## Next meeting time?
2025-08-28T07:00:00Z (UTC)
## Since last time
- New DPI release.
- `winit-*` crates split done.
- Still not done: Published call for maintainers.
- @daxpedda is working on other things currently.
## X11 talk
X11 is dying a slooow death. Might make sense some day to look into deprecating it?
Maybe one day: `x11` not in default features.
## Versioning of winit-* crates
Do we need the added flexibility of multiple versions?
Follow one version?
Current situation: The friction is quite high for users when upgrading.
Conclusion: Start from the current Winit version for now.
## `winit-compat`
Provides closure `run` API.
Maybe?
Create window was the actual issue, and we can't provide a wrapper for that (since we can't correctly create the window before the event loop is running).
The problem there is initialization of state.
https://github.com/rust-windowing/winit/pull/3895 is maybe part of the solution?
Maybe the solution is: Provide a helper method for single-window creation.
Idea: Optimize for the common use-case of a single window.
```rust
event_loop.single_window_run(
WindowAttributes::new(),
|event_loop, window| {
// Initialized
App { window }
},
);
```
Idea: Provide an API to switch `Box<dyn ApplicationHandler>` to something else?
## Examples
@daxpedda: Our examples are kinda bad, the point of an example is to teach how to use an API.
## v0.31
When?
Soon, clean up the API and figure out casting etc., but wait with further stuff.
Surface/Window split should wait.
https://github.com/rust-windowing/winit/milestone/33
## [Nominated](https://github.com/rust-windowing/winit/labels/C%20-%20nominated) issues and PRs
### Pen/Stylus
@wareya maybe wants to implement it, we should tell them yes to that.