12 KiB
12 KiB
Change Log
Unreleased
0.16.1 - 2023-09-18
Bugfixes
- Restrict
SimpleGlobalbindings to our max API version
0.16.0 - 2022-06-18
Breaking changes
calloopis updated to version 0.10, and the keyboard handling API is slightly changed as a result.
Additions
DataDevice::with_dndandDataOffer::receive_to_fdallow more flexible interfaction with the data device abstraction- the output integration now supports version
4ofwl_output
0.15.4 - 2022-04-10
Bugfixes
Window'swl_pointernot being relased onDrop.
0.15.3 - 2021-12-27
Bugfixes
- SCTK now correctly interacts with the wayland socket being conccurently poolled from other threads.
0.15.2 - 2021-10-27
- Most types are now
Debug
0.15.1 - 2021-08-23
Bugfixes
- when not using
dlopenfeature,xkbdcommonlibrary is linked usingpkg-config
0.15.0 - 2021-08-10
Breaking Changes
- Update
wayland-clientto 0.29
Additions
AutoMemPoolnow guarantees a minimum alignment of returned buffers
0.14.0 - 2021-05-07
Breaking Changes
ConceptFrameis removed, as well as theframescargo feature, and replaced by a more minimalisticFallbackFrame. Dependency onandrewandfontconfigis dropped in the process. If fancier decorations are needed, they should be implemented using theFrametrait.- Update to calloop 0.7:
calloop::Sourceis replaced bycalloop::RegistrationToken
Additions
AutoMemPooladded as an alternative to the existing SHM pools
0.13.0 - 2021-03-04
Breaking Changes
- Mark OutputInfo as
#[non_exhaustive]to allow future expansion without breaking API. - Batch output information updates instead of potentially making multiple callbacks for one logical change
- Add name and description fields to OutputInfo.
Additions
Window::start_interactive_moveto enable dragging the window with a user action
Bugfixes
ConceptFramenow correctly loads fonts using fontconfig
0.12.2 -- 2020-12-30
Changes
- Dependency on
byteorderwas replaced withu32::from_ne_bytes()
Bugfixes
- Don't crash when the font cannot be loaded to draw decorations
0.12.1 -- 2020-12-08
Changes
- Unmaintained
memmapdependency is replaced withmemmap2
0.12.0 -- 2020-09-30
Breaking Changes
- Update
wayland-clientto version 0.28 Environment::initwas renamed toEnvironment::new_pendinginit_default_environment!macro was renamed tonew_default_environment!
Additions
Environment::newmethod to fully bootstrap environment
0.11.0 -- 2020-08-30
Breaking Changes
window.set_decorateis now taking mutable reference- Added
show_window_menuon aFrametrait to request a window menu for a window. ShowMenuenum variant toFrameRequestcreate_windownow also takesOption<ThemeManager>Frame::initnow also takesOption<ThemeManager>to reuse users'ThemeManager
Additions
WaylandSource::queueto access theEventQueueunderlying aWaylandSource- A window menu could be shown on right click on decorations for
ConceptFrame ConceptFramewill no longer change cursor over base surface ifThemeManagerwas provided
Changes
Window::set_titlenow truncates the provided string to 1024 bytes, to avoid blowing up the Wayland connectionConceptFrameis now hiding decorations forState::Fullscreen- Restore original size of fullscreened window on unfullscreen
- Explicitly setting
ClientSidedecorations will result inServerSideones being destroyed - Requesting
ServerSidedecorations inset_decoratewill now fallback toClientSideif the former are not available - Requesting
Nonedecorations ifServerSideare presented will result in settingClientSidedecorations with hidden frame ConceptFramewill useDisabledstyle for maximized button for non-resizeable frameConceptFramewill create subsurfaces for client side decorations only if a frame is visibleWindowwill restore original size after being tiled
Bugfixes
- Toggling between
ServerSideandNonedecorations raising protocol error - Precision in a rate of key repeat events
ThemeManagernot being clone-able even if it was stated in docs- Repeat rate not being disabled when receiving zero for
rateinwl_keyboard.repeat_info
0.10.0 -- 2020-07-10
Breaking Changes
create_surfaceandcreate_surface_with_scale_callbacknow returnAttached<WlSurface>- Update
wayland-clientto0.27
Changes
andrewis updated to0.3.
Bugfixes
- seat: Seats with an empty name are no longer filtered out
0.9.1 -- 2020-05-03
Additions
- keyboard: Update the keysyms list with new symbols
- Add primary selection helpers, which are included as part of default
Environment.
Changes
- surfaces: dpi-aware surface will no longer believe their DPI factor reverts to 1 when they become hidden.
BugFixes
- keyboard: Remove the unnecessary type parameter of
map_keyboard
0.9.0 -- 2020-04-22
Breaking Changes
AutoThemeris removed as it is no longer necessary withwayland-cursor0.26calloopis updated to 0.6, and the adapters are modified in consequence
Additions
- Add
clone_seat_data()method as a shorthand to getSeatData
Bugfixes
- Surface lock held across scale factor callback deadlocks scale factor API.
0.8.1 -- 2020-04-09
Additions
- Add
listen_for_outputs()which calls a provided callback on creation/removal of outputs. - Add an
OutputHandlingtrait makinglisten_for_outputs()available onEnvironment. - Introduce the
calloopcargo feature, enabled by default, controlling the support for the calloop event loop - Introduce the
framescargo feature, enabled by default, controlling the existence of providedFrameimplementations (currentlyConceptFrame) and the dependency onandrew
0.8.0 -- 2020-02-27
Breaking Changes
Frameconfiguration is now done through aFrame::Configassociated type and theThemetrait is removed.- Merge
Frame::set_activeandFrame::set_maximizedintoFrame::set_states
Additions
- HiDPI scaling for decorations
Bugfixes
- HiDPI cursor icon position
- Fix graphical glitches in
ConceptFramedecoration drawing - Black pixel on left-bottom corner on CSD
- Remove a deadlock when trying to access the seat data from within the seat callback
0.7.0 -- 2020-02-07
Breaking changes
- Upgrade to
wayland-client0.25. This changes the prototype of most callbacks by adding theDispatchDatamechanism for state sharing - Re-structure the lib API around the new
Environmenttype as an entry point (breaks a lot of things). This makes the crate follow a monolithic-modular structure centered on this type. keyboardis now a submodule ofseatkeyboardkey repetition is now handled as a calloop event sourcepointeris now a submodule ofseat- The initialization of
pointertheming utilities now require aThemeSpecargument instead of just a theme name, allowing control over the size of the cursors as well - Pointer theming utilities can no longer be shared across threads, as it was racy.
Windownow tracks new seats automatically (thenew_seatmethod is removed)Windowcan no longer be shared across threads, as it was racy.- Decorations management is now handled with the
Decorationsenum, for full control to clients.
Additions
- The
pointertheming will now read theXCURSOR_THEMEandXCURSOR_SIZEenvironment variables to figure the default theme pointertheming utilities now handle HiDPI monitors- SCTK now uses the
logcrate to log its warning and error messages - Data offers
ReadPipescan be inserted in a calloop event loop as an event source - The
WaylandSourcewrapper allows awayland-clientEventQueueto be inserted into a calloop event source.
0.6.4 -- 2019-08-27
Bugfixes
- Keyboard input breaking when
LC_ALL,LC_CTYPEorLANGare set to an empty string - UTF8 interpretation no longer stops working if loading the compose table failed
0.6.3 -- 2019-06-29
- Keyboard: fix extra key repeat when using also releasing a modifier
0.6.2 -- 2019-06-13
- Update
Nixto 0.14
0.6.1 -- 2019-04-07
- Additional theming capability on
ConceptFramevia theThemetrait: optional methodsget_<button-name>_button_icon_colorallows the stroke color on the buttons to be customized beyond what the secondary color allows. Button color methods now affect theConceptFrame's fill behind the buttons. - Fix the firing of
Configureevents in window abstraction.
0.6.0 -- 2019-02-18
Breaking changes
- Upgrade to
wayland-clientversion 0.23
0.5.0 -- 2019-02-05
Breaking changes
- Update the crate to
wayland-clientversion 0.22 - Window:
set_title()now requires a manualrefresh()for the change to take effect
Bugfixes
- Keyboard: fix system repeat rate as repeats per second rather then millisecond delay between repeats
- Surface: fix panic in
compute_dpi_factor()by only computing the dpi factor on surfaces known to the OutputMgr
0.4.4 -- 2018-12-27
- Shell: expose shell interface and add
create_shell_surfacetoEnvironment. - Fix build failure on big endian targets
0.4.3 -- 2018-12-03
- Update dependencies: rand, memmap, nix and image
- Surface:
create_surfaceandget_dpi_factorutilities for creating dpi aware surfaces.
0.4.2 -- 2018-11-14
- Fix compilation on BSD systems
0.4.1 -- 2018-11-06
- Window: always request server-side decorations if available, otherwise ther compositor never configures us
- keyboard: only compute utf8 value on keypress, not key release. Otherwise it confuses
xkb_compose.
0.4.0 -- 2018-10-09
- BasicFrame: Display the title of the window in the window header
- Pass
set_selection()Option<DataSource>andAutoThemer::init()Proxy<WlShm>by reference - Window: add
set_theme()function which takes an object implementing the traitThemeto adjust the look of window decorations - Window: add new
ConceptFramewhich provides an alternative to theBasicFramewindow decorations - MemPool: add
mmapmethod - [Breaking] Keyboard: remove
modifiersfield fromkeyboard::Event::Enter,keyboard::Event::Keyandkeyboard::KeyRepeatEvent - [Breaking] Keyboard: add
keyboard::Event::Modifiers - [Breaking] Upgrade to wayland-rs 0.21
- Keyboard: end key repetition when the keyboard loses focus
0.3.0 -- 2018-08-17
- Window: the minimum window width is set to 2 pixels to circumvent a bug in mutter - https://gitlab.gnome.org/GNOME/mutter/issues/259
- [Breaking] MemPool: MemPool now requires an implementation to be called when the pool becomes free
- [Breaking] DoubleMemPool: DoubleMemPool now requires an implementation to be called when one of its pools becomes free
- [Breaking] DoubleMemPool:
swap()is removed aspool()will now automatically track and return any free pools avaliable or return None - Keyboard: add key repetition with 'map_keyboard_auto_with_repeat' and 'map_keyboard_rmlvo_with_repeat'
- Window: add
init_with_decorationsto allow the use of server-side decorations
0.2.6 -- 2018-07-14
Big thanks to @trimental for improving the visual look of the window decorations:
- BasicFrame: remove side and bottom border decorations
- BasicFrame: round window corners
0.2.5 -- 2018-07-10
- Keyboard: try to load
libxkbcommon.so.0as well to improve compatibility
0.2.4 -- 2018-06-26
- Window: notify the compositor of our dimensions to avoid placement glitches
0.2.3 -- 2018-06-08
- Update
nixdependency to be fix build on FreeBSD (even if we can't run)
0.2.2 -- 2018-06-08
- BasicFrame: don't desync the subsurface from the main one. This avoids graphical glitches where the borders are not drawn exactly the same size as the contents.
- Window: add
set_resizable, (minor breaking change of theFrametrait by adding a new method)
0.2.1 -- 2018-05-03
- Add
DoubleMemPoolfor double buffering, and use it to improve the drawing performance ofBasicFrame.
0.2.0 -- 2018-04-29
- Breaking OutputMgr: expose wl_output global id
0.1.0 -- 2018-04-26
Initial version, including:
- basic environment manager
- keyboard keymap handling
- basic window decoration