rust-windowing / rust-windowing/winit
"Blessed" way to do things out of `winit`s scope? (`winit-extras`)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 6.2k
- Forks
- 1.3k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 9
Description
There are a lot of things out of winit's scope that are useful (and maybe expected by most people that we provide), here's a few examples I've stumbled across, though there are many more:
- Clipboards (https://github.com/rust-windowing/winit/pull/2156)
- macOS gestures (https://github.com/rust-windowing/winit/pull/2157)
- Maybe popups? (https://github.com/rust-windowing/winit/issues/403)
- Menubars (https://github.com/rust-windowing/winit/issues/427 / https://github.com/rust-windowing/winit/pull/1921)
- macOS file open events (https://github.com/rust-windowing/winit/pull/1759)
The readme already notes this, and directs users to various graphics libraries, but these are not always what the user wants (or their graphics library may not support it).
It has been suggested we make a winit-extras crate or similar under the @rust-windowing umbrella (name up for bikeshedding), to house these components; this would help us with:
- Providing examples of usage
- Ensuring our APIs actually allow external crates to hook in to the functionality they need (we're working towards this, see https://github.com/rust-windowing/winit/issues/2120)
- Helps keeping these extra features up to date with the latest
winitversion - In the cases where we depend on an external library for this, this "blesses" that library, providing a more consistent user experience (currently there are many clipboard libraries out there; it would be nice if the ecosystem could converge on a single one)
The alternative is just to make crates for each of these things, and document them in the wiki (though for some of the smaller features like file open events it seems kinda dumb).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the README's scope guidance, the linked wiki section on omitted features, and issue #2120. Review the referenced clipboard, gesture, popup, menubar, and file-open discussions, then define whether a winit-extras crate or separate crates should be pursued and document the agreed scope and next steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100