Icon::to_cardinals is no longer public, since it was never supposed to be.
Wayland: improve diagnostics if initialization fails
Fix some system event key doesn’t work when focused, do not block keyevent forward to system on macOS
On X11, the scroll wheel position is now correctly reset on i3 and other WMs that have the same quirk.
On X11, Window::get_current_monitor now reliably returns the correct monitor.
On X11, Window::hidpi_factor returns values from XRandR rather than the inaccurate values previously queried from the core protocol.
On X11, the primary monitor is detected correctly even when using versions of XRandR less than 1.5.
MonitorId now implements Debug.
Fixed bug on macOS where using with_decorations(false) would cause set_decorations(true) to produce a transparent titlebar with no title.
Implemented MonitorId::get_position on macOS.
On macOS, Window::get_current_monitor now returns accurate values.
Added WindowBuilderExt::with_resize_increments to macOS.
Breaking: On X11, WindowBuilderExt::with_resize_increments and WindowBuilderExt::with_base_size now take u32 values rather than i32.
macOS keyboard handling has been overhauled, allowing for the use of dead keys, IME, etc. Right modifier keys are also no longer reported as being left.
Added the Window::set_ime_spot(x: i32, y: i32) method, which is implemented on X11 and macOS.
Breaking: os::unix::WindowExt::send_xim_spot(x: i16, y: i16) no longer exists. Switch to the new Window::set_ime_spot(x: i32, y: i32), which has equivalent functionality.
Fixed detection of Pause and Scroll keys on Windows.
On Windows, alt-tabbing while the cursor is grabbed no longer makes it impossible to re-grab the cursor.
On Windows, using CursorState::Hide when the cursor is grabbed now ungrabs the cursor first.
Implemented MouseCursor::NoneCursor on Windows.
Added WindowBuilder::with_always_on_top and Window::set_always_on_top. Implemented on Windows, macOS, and X11.
On X11, WindowBuilderExt now has with_class, with_override_redirect, and with_x11_window_type to allow for more control over window creation. WindowExt additionally has set_urgent.
More hints are set by default on X11, including _NET_WM_PID and WM_CLIENT_MACHINE. Note that prior to this, the WM_CLASS hint was automatically set to whatever value was passed to with_title. It’s now set to the executable name to better conform to expectations and the specification; if this is undesirable, you must explicitly use WindowBuilderExt::with_class.