---
# System prepended metadata

title: Winit meeting 2024-06-28

---

# Winit meeting

Date: 2024-06-28T15:00:00Z (UTC)

Attended: @madsmtm, @daxpedda, @kchibisov, @MarijnS95

Last meeting notes: <https://hackmd.io/vyyCYotlTsu9Bq5njGMWJA>

## @kchibisov

Has less time these days.

## John is now the Windows maintainer

msiglreith has left (:cry:), meaning I'm now the maintainer for Windows.

Issues I will look into in order of priority:

- amrbashir's pull requests for the Windows backend.
- Remove decade-old legacy code (like the 2000-line match statement)
- Find a strategy aside from WM_PAINT to control the event loop.

Discuss potential others.

### @msiglreith's team membership

@madsmtm: I changed his team to `alumni`, though I remember now that we decided to only do org changes if approved by others, sorry about that...

Also, change Matrix admin rights. @kchibisov will do it.

## Release Cadence

For my other repos (smol-rs, softbuffer) I do a weekly release cadence where I go through and make a release based on the latest changes on master. I plan on doing this for winit as well.

## Moving raw-window-metal to @rust-windowing

Desired. Talk to Markus. @madsmtm is responsible.

## What Unixes do we support?

See https://github.com/rust-windowing/winit/issues/3752

Obviously we support Linux. I think we should support the primary BSDs as well (FreeBSD, NetBSD).

Any others? illumos is a notable hole, though I doubt anyone uses illumos seriously these days.

@madsmtm: We should document the result here, perhaps in the `platform::x11` and `platform::wayland` modules?

## Policy for type crates

Decide where to place "type crates" like:

- `dpi`
- `cursor-icon`
- `keyboard-types` (if that gets moved to @rust-windowing, which I'll be pushing towards in the relatively near future)

@madsmtm: I think we should have these in the `winit` repo, monorepos ftw!

Conclusion: Move the `dpi` crate out of `winit`, for consistency with the rest.

## Adding @xorgy to @rust-windowing?

[@xorgy](https://github.com/xorgy) (Aaron) is part of the Xilem project, and has been working on enabling IME for Android in Winit.

I propose that we add him to rust-windowing on GitHub, to somewhat formalize that he is working with us.

This is recruitment in a way, we need more Android maintenance! To get such maintenance, people need to have:
- Ownership over the code.
- Agency to make changes.

Additionally, we should consider adding him to the winit team, and possibly the code-owners file alongside Marijn? (Of course needs the assent of Marijn too).

Maybe it's too early, perhaps say that we can do this after he gets the first few PRs merged?

Conclusion: Too early, let's add him later once he has actually contributed.

## Masonry needs from Winit

https://xi.zulipchat.com/#narrow/stream/317477-masonry/topic/Important.20Winit.20issues.20for.20Masonry

## Android crate transfer

Did we fully resolve https://github.com/orgs/rust-mobile/discussions/8? It's done. Marijn will check that things are as they should be.

## Nominated

https://github.com/rust-windowing/winit/labels/C%20-%20nominated

### `&mut App`

issues:

1. `Box<dyn A>` vs `&mut dyn A`.
2. `run_on_demand` and `pump_events` should take and return the state instead of `&mut`, so it's consistent internally.


```rust


fn stop(mut self) {
    self
}

```

```rust
fn run(app: A) {
    app.start();
    {
        let app = &mut app;
        while running {
            app.xyz();
        }
    }
    app.stop();
}

fn pump_events(app: A) {
    app.start();
    {
        let app = &mut app;
        app.xyz();
    }
    app.stop();
}

let app = App {...};
while running {
    event_loop.pump_events(&mut app);
}
```

