-
Notifications
You must be signed in to change notification settings - Fork 1.2k
"Blessed" way to do things out of winits scope? (winit-extras) #2160
Copy link
Copy link
Open
Labels
C - needs discussionDirection must be ironed outDirection must be ironed outD - averageLikely as difficult as most tasks hereLikely as difficult as most tasks hereS - docsAwareness, docs, examples, etc.Awareness, docs, examples, etc.S - metaProject governanceProject governance
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 (Provide system clipboard handling API on
Window#2156) - macOS gestures (Add touchpad magnify and rotate gestures support for macOS #2157)
- Maybe popups? (Pop-up menus #403)
- Menubars (Noob Question on Menus etc #427 / feat: WIP Custom menu builder #1921)
- macOS file open events (Allow listening to file open events on macos #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 Platform-specific event callbacks #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).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C - needs discussionDirection must be ironed outDirection must be ironed outD - averageLikely as difficult as most tasks hereLikely as difficult as most tasks hereS - docsAwareness, docs, examples, etc.Awareness, docs, examples, etc.S - metaProject governanceProject governance