winit

Window handling library in pure Rust

APACHE-2.0 License

Downloads
13.1M
Stars
4.6K
Committers
459
winit - v0.22.2

Published by Osspial over 4 years ago

  • Added Clone implementation for 'static events.
  • On Windows, fix window intermittently hanging when ControlFlow was set to Poll.
  • On Windows, fix WindowBuilder::with_maximized being ignored.
  • On Android, minimal platform support.
  • On iOS, touch positions are now properly converted to physical pixels.
  • On macOS, updated core-* dependencies and cocoa
winit - v0.22.1

Published by murarth over 4 years ago

  • On X11, fix ResumeTimeReached being fired too early.
  • On Web, replaced zero timeout for ControlFlow::Poll with requestAnimationFrame
  • On Web, fix a possible panic during event handling
  • On macOS, fix EventLoopProxy leaking memory for every instance.
winit - v0.22.0

Published by Osspial over 4 years ago

  • On Windows, fix minor timing issue in wait_until_time_or_msg
  • On Windows, rework handling of request_redraw() to address panics.
  • On macOS, fix set_simple_screen to remember frame excluding title bar.
  • On Wayland, fix coordinates in touch events when scale factor isn't 1.
  • On Wayland, fix color from close_button_icon_color not applying.
  • Ignore locale if unsupported by X11 backend
  • On Wayland, Add HiDPI cursor support
  • On Web, add the ability to query "Light" or "Dark" system theme send ThemeChanged on change.
  • Fix Event::to_static returning None for user events.
  • On Wayland, Hide CSD for fullscreen windows.
  • On Windows, ignore spurious mouse move messages.
  • Breaking: Move ModifiersChanged variant from DeviceEvent to WindowEvent.
  • On Windows, add IconExtWindows trait which exposes creating an Icon from an external file or embedded resource
  • Add BadIcon::OsError variant for when OS icon functionality fails
  • On Windows, fix crash at startup on systems that do not properly support Windows' Dark Mode
  • Revert On macOS, fix not sending ReceivedCharacter event for specific keys combinations.
  • on macOS, fix incorrect ReceivedCharacter events for some key combinations.
  • Breaking: Use i32 instead of u32 for position type in WindowEvent::Moved.
winit - v0.21.0

Published by goddessfreya over 4 years ago

  • On Windows, fixed "error: linking with link.exe failed: exit code: 1120" error on older versions of windows.
  • On macOS, fix set_minimized(true) works only with decorations.
  • On macOS, add hide_application to EventLoopWindowTarget via a new EventLoopWindowTargetExtMacOS trait. hide_application will hide the entire application by calling -[NSApplication hide: nil].
  • On macOS, fix not sending ReceivedCharacter event for specific keys combinations.
  • On macOS, fix CursorMoved event reporting the cursor position using logical coordinates.
  • On macOS, fix issue where unbundled applications would sometimes open without being focused.
  • On macOS, fix run_return does not return unless it receives a message.
  • On Windows, fix bug where RedrawRequested would only get emitted every other iteration of the event loop.
  • On X11, fix deadlock on window state when handling certain window events.
  • WindowBuilder now implements Default.
  • Breaking: WindowEvent::CursorMoved changed to f64 units, preserving high-precision data supplied by most backends
  • On Wayland, fix coordinates in mouse events when scale factor isn't 1
  • On Web, add the ability to provide a custom canvas
  • Breaking: On Wayland, the WaylandTheme struct has been replaced with a Theme trait, allowing for extra configuration
winit - v0.20.0

Published by goddessfreya over 4 years ago

  • Breaking: Overhaul how Winit handles DPI:
    • Window functions and events now return PhysicalSize instead of LogicalSize.
    • Functions that take Size or Position types can now take either Logical or Physical types.
    • hidpi_factor has been renamed to scale_factor.
    • HiDpiFactorChanged has been renamed to ScaleFactorChanged, and lets you control how the OS
      resizes the window in response to the change.
    • On X11, deprecate WINIT_HIDPI_FACTOR environment variable in favor of WINIT_X11_SCALE_FACTOR.
    • Size and Position types are now generic over their exact pixel type.
winit - v0.20.0-alpha6

Published by goddessfreya over 4 years ago

  • On macOS, fix set_cursor_visible hides cursor outside of window.
  • On macOS, fix CursorEntered and CursorLeft events fired at old window size.
  • On macOS, fix error when set_fullscreen is called during fullscreen transition.
  • On all platforms except mobile and WASM, implement Window::set_minimized.
  • On X11, fix CursorEntered event being generated for non-winit windows.
  • On macOS, fix crash when starting maximized without decorations.
  • On macOS, fix application not terminating on run_return.
  • On Wayland, fix cursor icon updates on window borders when using CSD.
  • On Wayland, under mutter(GNOME Wayland), fix CSD being behind the status bar, when starting window in maximized mode.
  • On Windows, theme the title bar according to whether the system theme is "Light" or "Dark".
  • Added WindowEvent::ThemeChanged variant to handle changes to the system theme. Currently only implemented on Windows.
  • Breaking: Changes to the RedrawRequested event (#1041):
    • RedrawRequested has been moved from WindowEvent to Event.
    • EventsCleared has been renamed to MainEventsCleared.
    • RedrawRequested is now issued only after MainEventsCleared.
    • RedrawEventsCleared is issued after each set of RedrawRequested events.
  • Implement synthetic window focus key events on Windows.
  • Breaking: Change ModifiersState to a bitflags struct.
  • On Windows, implement VirtualKeyCode translation for LWin and RWin.
  • On Windows, fix closing the last opened window causing DeviceEvents to stop getting emitted.
  • On Windows, fix Window::set_visible not setting internal flags correctly. This resulted in some weird behavior.
  • Add DeviceEvent::ModifiersChanged.
    • Deprecate modifiers fields in other events in favor of ModifiersChanged.
  • On X11, WINIT_HIDPI_FACTOR now dominates Xft.dpi when picking DPI factor for output.
  • On X11, add special value randr for WINIT_HIDPI_FACTOR to make winit use self computed DPI factor instead of the one from Xft.dpi.
winit - v0.20.0-alpha5

Published by goddessfreya over 4 years ago

  • On macOS, fix application termination on ControlFlow::Exit
  • On Windows, fix missing ReceivedCharacter events when Alt is held.
  • On macOS, stop emitting private corporate characters in ReceivedCharacter events.
  • On X11, fix misreporting DPI factor at startup.
  • On X11, fix events not being reported when using run_return.
  • On X11, fix key modifiers being incorrectly reported.
  • On X11, fix window creation hanging when another window is fullscreen.
  • On Windows, fix focusing unfocused windows when switching from fullscreen to windowed.
  • On X11, fix reporting incorrect DPI factor when waking from suspend.
  • Change EventLoopClosed to contain the original event.
  • Breaking: Add is_synthetic field to WindowEvent variant KeyboardInput,
    indicating that the event is generated by winit.
  • On X11, generate synthetic key events for keys held when a window gains or loses focus.
  • On X11, issue a CursorMoved event when a Touch event occurs,
    as X11 implicitly moves the cursor for such events.
winit - v0.20.0-alpha4

Published by goddessfreya over 4 years ago

  • Add web support via the 'stdweb' or 'web-sys' features
  • On Windows, implemented function to get HINSTANCE
  • On macOS, implement run_return.
  • On iOS, fix inverted parameter in set_prefers_home_indicator_hidden.
  • On X11, performance is improved when rapidly calling Window::set_cursor_icon.
  • On iOS, fix improper msg_send usage that was UB and/or would break if ! is stabilized.
  • On Windows, unset maximized when manually changing the window's position or size.
  • On Windows, add touch pressure information for touch events.
  • On macOS, differentiate between CursorIcon::Grab and CursorIcon::Grabbing.
  • On Wayland, fix event processing sometimes stalling when using OpenGL with vsync.
  • Officially remove the Emscripten backend.
  • On Windows, fix handling of surrogate pairs when dispatching ReceivedCharacter.
  • On macOS 10.15, fix freeze upon exiting exclusive fullscreen mode.
  • On iOS, fix panic upon closing the app.
  • On X11, allow setting mulitple XWindowTypes.
  • On iOS, fix null window on initial HiDpiFactorChanged event.
  • On Windows, fix fullscreen window shrinking upon getting restored to a normal window.
  • On macOS, fix events not being emitted during modal loops, such as when windows are being resized
    by the user.
  • On Windows, fix hovering the mouse over the active window creating an endless stream of CursorMoved events.
  • Always dispatch a RedrawRequested event after creating a new window.
  • On X11, return dummy monitor data to avoid panicking when no monitors exist.
  • On X11, prevent stealing input focus when creating a new window.
    Only steal input focus when entering fullscreen mode.
  • On Wayland, fixed DeviceEvents for relative mouse movement is not always produced
  • On Wayland, add support for set_cursor_visible and set_cursor_grab.
  • On Wayland, fixed DeviceEvents for relative mouse movement is not always produced.
  • Removed derivative crate dependency.
  • On Wayland, add support for set_cursor_icon.
  • Use impl Iterator<Item = MonitorHandle> instead of AvailableMonitorsIter consistently.
  • On macOS, fix fullscreen state being updated after entering fullscreen instead of before,
    resulting in Window::fullscreen returning the old state in Resized events instead of
    reflecting the new fullscreen state
  • On X11, fix use-after-free during window creation
  • On Windows, disable monitor change keyboard shortcut while in exclusive fullscreen.
  • On Windows, ensure that changing a borderless fullscreen window's monitor via keyboard shortcuts keeps the window fullscreen on the new monitor.
  • Prevent EventLoop::new and EventLoop::with_user_event from getting called outside the main thread.
    • This is because some platforms cannot run the event loop outside the main thread. Preventing this
      reduces the potential for cross-platform compatibility gotchyas.
  • On Windows and Linux X11/Wayland, add platform-specific functions for creating an EventLoop outside the main thread.
  • On Wayland, drop resize events identical to the current window size.
  • On Windows, fix window rectangle not getting set correctly on high-DPI systems.
winit - v0.20.0-alpha3

Published by goddessfreya over 4 years ago

  • On macOS, drop the run closure on exit.
  • On Windows, location of WindowEvent::Touch are window client coordinates instead of screen coordinates.
  • On X11, fix delayed events after window redraw.
  • On macOS, add WindowBuilderExt::with_disallow_hidpi to have the option to turn off best resolution openGL surface.
  • On Windows, screen saver won't start if the window is in fullscreen mode.
  • Change all occurrences of the new_user_event method to with_user_event.
  • On macOS, the dock and the menu bar are now hidden in fullscreen mode.
  • Window::set_fullscreen now takes Option<Fullscreen> where Fullscreen
    consists of Fullscreen::Exclusive(VideoMode) and
    Fullscreen::Borderless(MonitorHandle) variants.
    • Adds support for exclusive fullscreen mode.
  • On iOS, add support for hiding the home indicator.
  • On iOS, add support for deferring system gestures.
  • On iOS, fix a crash that occurred while acquiring a monitor's name.
  • On iOS, fix armv7-apple-ios compile target.
  • Removed the T: Clone requirement from the Clone impl of EventLoopProxy<T>.
  • On iOS, disable overscan compensation for external displays (removes black
    bars surrounding the image).
  • On Linux, the functions is_wayland, is_x11, xlib_xconnection and wayland_display have been moved to a new EventLoopWindowTargetExtUnix trait.
  • On iOS, add set_prefers_status_bar_hidden extension function instead of
    hijacking set_decorations for this purpose.
  • On macOS and iOS, corrected the auto trait impls of EventLoopProxy.
  • On iOS, add touch pressure information for touch events.
  • Implement raw_window_handle::HasRawWindowHandle for Window type on all supported platforms.
  • On macOS, fix the signature of -[NSView drawRect:].
  • On iOS, fix the behavior of ControlFlow::Poll. It wasn't polling if that was the only mode ever used by the application.
  • On iOS, fix DPI sent out by views on creation was 0.0 - now it gives a reasonable number.
  • On iOS, RedrawRequested now works for gl/metal backed views.
  • On iOS, RedrawRequested is generally ordered after EventsCleared.
winit - v0.20.0-alpha2

Published by goddessfreya over 4 years ago

  • On X11, non-resizable windows now have maximize explicitly disabled.
  • On Windows, support paths longer than MAX_PATH (260 characters) in WindowEvent::DroppedFile
    and WindowEvent::HoveredFile.
  • On Mac, implement DeviceEvent::Button.
  • Change Event::Suspended(true / false) to Event::Suspended and Event::Resumed.
  • On X11, fix sanity check which checks that a monitor's reported width and height (in millimeters) are non-zero when calculating the DPI factor.
  • Revert the use of invisible surfaces in Wayland, which introduced graphical glitches with OpenGL (#835)
  • On X11, implement _NET_WM_PING to allow desktop environment to kill unresponsive programs.
  • On Windows, when a window is initially invisible, it won't take focus from the existing visible windows.
  • On Windows, fix multiple calls to request_redraw during EventsCleared sending multiple RedrawRequested events.
  • On Windows, fix edge case where RedrawRequested could be dispatched before input events in event loop iteration.
  • On Windows, fix timing issue that could cause events to be improperly dispatched after RedrawRequested but before EventsCleared.
  • On macOS, drop unused Metal dependency.
  • On Windows, fix the trail effect happening on transparent decorated windows. Borderless (or un-decorated) windows were not affected.
  • On Windows, fix with_maximized not properly setting window size to entire window.
  • On macOS, change WindowExtMacOS::request_user_attention() to take an enum instead of a bool.
winit -

Published by goddessfreya over 4 years ago

  • Changes below are considered breaking.
  • Change all occurrences of EventsLoop to EventLoop.
  • Previously flat API is now exposed through event, event_loop, monitor, and window modules.
  • os module changes:
    • Renamed to platform.
    • All traits now have platform-specific suffixes.
    • Exposes new desktop module on Windows, Mac, and Linux.
  • Changes to event loop types:
    • EventLoopProxy::wakeup has been removed in favor of send_event.
    • Major: New run method drives winit event loop.
      • Returns ! to ensure API behaves identically across all supported platforms.
        • This allows emscripten implementation to work without lying about the API.
      • ControlFlow's variants have been replaced with Wait, WaitUntil(Instant), Poll, and Exit.
        • Is read after EventsCleared is processed.
        • Wait waits until new events are available.
        • WaitUntil waits until either new events are available or the provided time has been reached.
        • Poll instantly resumes the event loop.
        • Exit aborts the event loop.
      • Takes a closure that implements 'static + FnMut(Event<T>, &EventLoop<T>, &mut ControlFlow).
        • &EventLoop<T> is provided to allow new Windows to be created.
    • Major: platform::desktop module exposes EventLoopExtDesktop trait with run_return method.
      • Behaves identically to run, but returns control flow to the calling context and can take non-'static closures.
    • EventLoop's poll_events and run_forever methods have been removed in favor of run and run_return.
  • Changes to events:
    • Remove Event::Awakened in favor of Event::UserEvent(T).
      • Can be sent with EventLoopProxy::send_event.
    • Rename WindowEvent::Refresh to WindowEvent::RedrawRequested.
      • RedrawRequested can be sent by the user with the Window::request_redraw method.
    • EventLoop, EventLoopProxy, and Event are now generic over T, for use in UserEvent.
    • Major: Add NewEvents(StartCause), EventsCleared, and LoopDestroyed variants to Event.
      • NewEvents is emitted when new events are ready to be processed by event loop.
        • StartCause describes why new events are available, with ResumeTimeReached, Poll, WaitCancelled, and Init (sent once at start of loop).
      • EventsCleared is emitted when all available events have been processed.
        • Can be used to perform logic that depends on all events being processed (e.g. an iteration of a game loop).
      • LoopDestroyed is emitted when the run or run_return method is about to exit.
  • Rename MonitorId to MonitorHandle.
  • Removed serde implementations from ControlFlow.
  • Rename several functions to improve both internal consistency and compliance with Rust API guidelines.
  • Remove WindowBuilder::multitouch field, since it was only implemented on a few platforms. Multitouch is always enabled now.
  • Breaking: On macOS, change ns identifiers to use snake_case for consistency with iOS's ui identifiers.
  • Add MonitorHandle::video_modes method for retrieving supported video modes for the given monitor.
  • On Wayland, the window now exists even if nothing has been drawn.
  • On Windows, fix initial dimensions of a fullscreen window.
  • On Windows, Fix transparent borderless windows rendering wrong.
winit - v0.19.1

Published by goddessfreya over 5 years ago

  • On Wayland, added a get_wayland_display function to EventsLoopExt.
  • On Windows, fix CursorMoved(0, 0) getting dispatched on window focus.
  • On macOS, fix command key event left and right reverse.
  • On FreeBSD, NetBSD, and OpenBSD, fix build of X11 backend.
  • On Windows, fix icon not showing up in corner of window.
  • On X11, change DPI scaling factor behavior. First, winit tries to read it from "Xft.dpi" XResource, and uses DPI calculation from xrandr dimensions as fallback behavior.
winit - v0.18.0

Published by francesca64 almost 6 years ago

  • Breaking: image crate upgraded to 0.20. This is exposed as part of the icon_loading API.
  • On Wayland, pointer events will now provide the current modifiers state.
  • On Wayland, titles will now be displayed in the window header decoration.
  • On Wayland, key repetition is now ended when keyboard loses focus.
  • On Wayland, windows will now use more stylish and modern client side decorations.
  • On Wayland, windows will use server-side decorations when available.
  • Breaking: Added support for F16-F24 keys (variants were added to the VirtualKeyCode enum).
  • Fixed graphical glitches when resizing on Wayland.
  • On Windows, fix freezes when performing certain actions after a window resize has been triggered. Reintroduces some visual artifacts when resizing.
  • Updated window manager hints under X11 to v1.5 of Extended Window Manager Hints.
  • Added WindowBuilderExt::with_gtk_theme_variant to X11-specific WindowBuilder functions.
  • Fixed UTF8 handling bug in X11 set_title function.
  • On Windows, Window::set_cursor now applies immediately instead of requiring specific events to occur first.
  • On Windows, the HoveredFile and HoveredFileCancelled events are now implemented.
  • On Windows, fix Window::set_maximized.
  • On Windows 10, fix transparency (#260).
  • On macOS, fix modifiers during key repeat.
  • Implemented the Debug trait for Window, EventsLoop, EventsLoopProxy and WindowBuilder.
  • On X11, now a Resized event will always be generated after a DPI change to ensure the window's logical size is consistent with the new DPI.
  • Added further clarifications to the DPI docs.
  • On Linux, if neither X11 nor Wayland manage to initialize, the corresponding panic now consists of a single line only.
  • Add optional serde feature with implementations of Serialize/Deserialize for DPI types and various event types.
  • Add PartialEq, Eq, and Hash implementations on public types that could have them but were missing them.
  • On X11, drag-and-drop receiving an unsupported drop type can no longer cause the WM to freeze.
  • Fix issue whereby the OpenGL context would not appear at startup on macOS Mojave (#1069).
  • Breaking: Removed From<NSApplicationActivationPolicy> impl from ActivationPolicy on macOS.
  • On macOS, the application can request the user's attention with WindowExt::request_user_attention.
winit - v0.17.2

Published by francesca64 about 6 years ago

  • On macOS, fix <C-Tab> so applications receive the event.
  • On macOS, fix <Cmd-{key}> so applications receive the event.
  • On Wayland, key press events will now be repeated.
winit - v0.17.1

Published by francesca64 about 6 years ago

  • On X11, prevent a compilation failure in release mode for versions of Rust greater than or equal to 1.30.
  • Fixed deadlock that broke fullscreen mode on Windows.
winit - v0.17.0

Published by francesca64 about 6 years ago

  • Cocoa and core-graphics updates.
  • Fixed thread-safety issues in several Window functions on Windows.
  • On MacOS, the key state for modifiers key events is now properly set.
  • On iOS, the view is now set correctly. This makes it possible to render things (instead of being stuck on a black screen), and touch events work again.
  • Added NetBSD support.
  • Breaking: On iOS, UIView is now the default root view. WindowBuilderExt::with_root_view_class can be used to set the root view objective-c class to GLKView (OpenGLES) or MTKView (Metal/MoltenVK).
  • On iOS, the UIApplication is not started until Window::new is called.
  • Fixed thread unsafety with cursor hiding on macOS.
  • On iOS, fixed the size of the JmpBuf type used for setjmp/longjmp calls. Previously this was a buffer overflow on most architectures.
  • On Windows, use cached window DPI instead of repeatedly querying the system. This fixes sporadic crashes on Windows 7.
winit - v0.16.2

Published by francesca64 over 6 years ago

  • On Windows, non-resizable windows now have the maximization button disabled. This is consistent with behavior on macOS and popular X11 WMs.
  • Corrected incorrect unreachable! usage when guessing the DPI factor with no detected monitors.
winit - v0.16.1

Published by francesca64 over 6 years ago

  • Added logging through log. Logging will become more extensive over time.
  • On X11 and Windows, the window's DPI factor is guessed before creating the window. This greatly cuts back on unsightly auto-resizing that would occur immediately after window creation.
  • Fixed X11 backend compilation for environments where c_char is unsigned.
winit - v0.16.0

Published by francesca64 over 6 years ago

  • Windows additionally has WindowBuilderExt::with_no_redirection_bitmap.
  • Breaking: Removed VirtualKeyCode::LMenu and VirtualKeyCode::RMenu; Windows now generates VirtualKeyCode::LAlt and VirtualKeyCode::RAlt instead.
  • On X11, exiting fullscreen no longer leaves the window in the monitor's top left corner.
  • Breaking: Window::hidpi_factor has been renamed to Window::get_hidpi_factor for better consistency. WindowEvent::HiDPIFactorChanged has been renamed to WindowEvent::HiDpiFactorChanged. DPI factors are always represented as f64 instead of f32 now.
  • The Windows backend is now DPI aware. WindowEvent::HiDpiFactorChanged is implemented, and MonitorId::get_hidpi_factor and Window::hidpi_factor return accurate values.
  • Implemented WindowEvent::HiDpiFactorChanged on X11.
  • On macOS, Window::set_cursor_position is now relative to the client area.
  • On macOS, setting the maximum and minimum dimensions now applies to the client area dimensions rather than to the window dimensions.
  • On iOS, MonitorId::get_dimensions has been implemented and both MonitorId::get_hidpi_factor and Window::get_hidpi_factor return accurate values.
  • On Emscripten, MonitorId::get_hidpi_factor now returns the same value as Window::get_hidpi_factor (it previously would always return 1.0).
  • Breaking: The entire API for sizes, positions, etc. has changed. In the majority of cases, winit produces and consumes positions and sizes as LogicalPosition and LogicalSize, respectively. The notable exception is MonitorId methods, which deal in PhysicalPosition and PhysicalSize. See the documentation for specifics and explanations of the types. Additionally, winit automatically conserves logical size when the DPI factor changes.
  • Breaking: All deprecated methods have been removed. For Window::platform_display and Window::platform_window, switch to the appropriate platform-specific WindowExt methods. For Window::get_inner_size_points and Window::get_inner_size_pixels, use the LogicalSize returned by Window::get_inner_size and convert as needed.
  • HiDPI support for Wayland.
  • EventsLoop::get_available_monitors and EventsLoop::get_primary_monitor now have identical counterparts on Window, so this information can be acquired without an EventsLoop borrow.
  • AvailableMonitorsIter now implements Debug.
  • Fixed quirk on macOS where certain keys would generate characters at twice the normal rate when held down.
  • On X11, all event loops now share the same XConnection.
  • Breaking: Window::set_cursor_state and CursorState enum removed in favor of the more composable Window::grab_cursor and Window::hide_cursor. As a result, grabbing the cursor no longer automatically hides it; you must call both methods to retain the old behavior on Windows and macOS. Cursor::NoneCursor has been removed, as it's no longer useful.
  • Breaking: Window::set_cursor_position now returns Result<(), String>, thus allowing for Box<Error> conversion via ?.
winit - v0.15.1

Published by francesca64 over 6 years ago

  • On X11, the Moved event is no longer sent when the window is resized without changing position.
  • MouseCursor and CursorState now implement Default.
  • WindowBuilder::with_resizable implemented for Windows, X11, Wayland, and macOS.
  • Window::set_resizable implemented for Windows, X11, Wayland, and macOS.
  • On X11, if the monitor's width or height in millimeters is reported as 0, the DPI is now 1.0 instead of +inf.
  • On X11, the environment variable WINIT_HIDPI_FACTOR has been added for overriding DPI factor.
  • On X11, enabling transparency no longer causes the window contents to flicker when resizing.
  • On X11, with_override_redirect now actually enables override redirect.
  • macOS now generates VirtualKeyCode::LAlt and VirtualKeyCode::RAlt instead of None for both.
  • On macOS, VirtualKeyCode::RWin and VirtualKeyCode::LWin are no longer switched.
  • On macOS, windows without decorations can once again be resized.
  • Fixed race conditions when creating an EventsLoop on X11, most commonly manifesting as "[xcb] Unknown sequence number while processing queue".
  • On macOS, CursorMoved and MouseInput events are only generated if they occurs within the window's client area.
  • On macOS, resizing the window no longer generates a spurious MouseInput event.
Package Rankings
Top 0.92% on Crates.io
Top 6.66% on Proxy.golang.org
Badges
Extracted from project README
Crates.io Docs.rs Master Docs CI Status Matrix