rust-windowing / rust-windowing/winit

"Blessed" way to do things out of `winit`s scope? (`winit-extras`)

Open
#2,160 6 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C - needs discussion D - average S - docs S - meta
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:

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 winit version
  • 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.