- Support for wlroots 0.17.x
- Breaking change Rename all declarations of XdgTopLevel.* to XdgToplevel.*
- Fixed
Seat.touch_point_clear_focus
: The method took too many arguments which were not aligned to the wlroots counterpart and lead to a runtime error. - Fixed
Renderer.autocreate
return value check. This also replaces some of the exceptions from render_texture and render_texture_with_matrix with boolean return values.
- Fixed:
XdgTopLevel.parent
always returnd a parent even if the parent is NULL. - Fixed return type of
Seat.touch_notify_down
: Returns an integer now (the serial identifier) - Added support for
wlr_switch
- Added
Seat.touch_send_*
methods - Added
TouchPoint
class - Real support for
wlr_touch
. The previous implementations were not usable.
- Added support for the Single-pixel buffer protocol.
- Added (experimental) support for the Session lock V1 protocol
- Added
Output.enable_adaptive_sync(bool)
- Added
Cursor.detach_input_device()
- Added
Backend.is_multi
property which indicates if the backend represents a multi-backend - Added
Pointer.data
property - Added support for
wlr_touch
- Added support for
OutputState
which simplifies the configuration ofOutput
- Removed
Seat.has_grab()
: Use the explicit methods likeSeat.keyboard_has_grab()
,Seat.pointer_has_grab()
orSeat.touch_has_grab()
- Renamed the touch events to maintain a consistent naming scheme:
TouchEventUp
->TouchUpEvent
,TouchEventDown
->TouchDownEvent
,TouchEventMotion
->TouchMotionEvent
,TouchEventCancel
->TouchCancelEvent
- The following methods don't throw a
RuntimeError
anymore, but return a boolean value like the wlroots API:Backend.start()
,Output.commit()
, andSceneOutput.commit()
- Deprecated
Seat.set_keyboard()
: Use theSeat.keyboard
property Seat.keyboard
(andSeat.set_keyboard()
) acceptsNone
as valid value.
- Add missing include implemented by VladislavGrudinin (PR #127)
- Update to include CPython 3.12 and PyPy in CI and release implemented by Sean Vig (PR #128)
- Update wlroots url in
README.rst
implemented by cooki35 (PR #124) - Expose
wlr_keyboard_notify_modifiers
function implemented by Charbel Assaad (PR #123) - Migrated to use PEP 517 compatible release process
- Added idle_notify_v1 protocol implemented by Charbel Assaad (PR #118)
- Add helpers for XDG activation V1 and presentation time protocols implemented by Matt Colligan (PR #117)
- Add helpers for mapping input devices to outputs implemented by Matt Colligan (PR #116)
- Minor keyboard handling improvements implemented by Matt Colligan (PR #114)
- Ensure xwayland is built in released wheels implemented by Sean Vig (PR #115)
- Support for wlroots 0.16.x implemented by Matt Colligan (PR #109)
- Drag.icon can also return
None
if clients don't provide icons to render implemented by Matt Colligan (PR #107)
- Add handlers for
wlr_pointer_gestures_v1
implemented by Matt Colligan (PR #106)
- Add method to
XCursorManager
forwlr_xcursor_manager_load
implemented by Matt Colligan (PR #104) - Bump libdrm version to 2.4.113 in CI to fix build agaist wlroots master implemented by Sean Vig (PR #105)
- Add signals for
wlr_input_device
events implemented by Matt Colligan (PR #101) - Fix up some output code implemented by Matt Colligan (PR #102)
- Add wlr_xdg_surface_schedule_configure as XdgSurface method implemented by Matt Colligan (PR #103)
- Bump libdrm and wayland protocols in CI implemented by Sean Vig (PR #100)
- Correct 2 enums to be IntFlags, supporting 0s implemented by Matt Colligan (PR #99)
- Added support for
wlr_viewporter
implemented by Aakash Sen Sharma (PR #94) - Wrap input inhibitor active client in pywayland Client implemented by Matt Colligan (PR #98)
- Build wlroots wheels for new releases implemented by Sean Vig (PR #90)
- improve SIGINT handler implemented by Aakash Sen Sharma (PR #91)
- Expose input inhibitor activate/deactivate events implemented by Matt Colligan (PR #92)
- Merged pull request #89: [import] export_dmabuf and virtual_pointer support implemented by Aakash Sen Sharma
- Merged pull request #88: [protocol] wlr_export_dmabuf_v1 bindings added implemented by Aakash Sen Sharma
- Merged pull request #86: Add wlr_virtual_pointer_v1 interface implemented by Matt Colligan
- Merged pull request #85: Added proper support for primary selection implemented by Antonín Říha
- Merged pull request #84: Expose xcursors to enable setting xwayland cursor images implemented by Matt Colligan
- Merged pull request #83: XWayland surface restack sibling is optional implemented by Matt Colligan
- Merged pull request #81: Catch OSErrors triggered by ffi_build.py version check implemented by Matt Colligan
- Merged pull request #79: Don't wrap IdleInhibitorV1's destroy event data implemented by Matt Colligan
- Get build-time information from local files
- Skip version check in ffi_build if unable to create file (which is a sign of using a system installed version of the library)
- Added support for idle_inhibitor
- Added idle protocol
- Added support for output power management protocol
- Add header files to be included in package for use in downstream CFFI packages.
- Add destroy method to XWayland
- Add XWayland support functionality.
- Fixes problem with annotations
- Support wlroots 0.15 The latest release of wlroots brings with it a new scene graph API as well as changes to the backend and renderer interfaces, all of which should make it much easier to do proper handling of rendering and damage tracking, as well as simplify some of the handling that was needed for showing windows in the outputs. There are also minor changes to the handling of boxes, surfaces, and other wlroots primitives. The basic tiny compositor is updated with some of this functionality, but expect further pywlroots releases to make use of all the wlroots 0.15 features
- Additional breaking changes: Python 3.6 has hit EOL, so this version is no longer supported.
- Handle invalid UTF-8 string members
- Fix packaging and installation issue.
- Add some handlers for wlr_foreign_toplevel_management_v1
- Add some touch event handling to the seat
- Add interface for wlr_drag and related objects
- Add wlr_input_inhibit_manager for screen locking, implemented by Graeme Holliday
- Fix typo
- Redirect internal Box import to avoid deprecation warning on correctly used imports
- Add
wlr_relative_pointer_v1
- Update Box type to be more in line with 0.15 and add deprecation.
- Add
closest_point
and__repr__
for Box - Add wlr_xdg_surface_configure and corresponding events
- Add wlr_pointer_constraints_v1
- Update source package to include tests and example tiny compositor.
- Let
wlr_output_layout_get_box
return extents of whole layout. - Add is_headless properties to Output and Backend.
- Reduce severity of wlroots version mismatch, just print error at build time rather than failing.
- Add check for compatible wlroots version, should be run on install.
- Add check for compatible wlroots version, should be run on install.
- Fix compatibility with wlroots 0.14.
- Expose input device properties
- Add parent method to xdg-shell toplevels
- Add
wlr_data_control_v1
interface
- Add
wlr_primary_selection_v1
- Add str_or_none helper to better decode ffi char strings
- Expose libinput handles
- Fixes: Fix wlroots version and remove
wl_shm_format
enum
- Add subsurfaces
- Add keyboard destroyed property
- Add texture handling functionality
- Add server decoration manager
- Changed versioning scheme: Releases will be versioned where the major and minor version of pywlroots will match the version of wlroots that is supported. The patch version of pywlroots will be incremented for various additions, changes, and bug fix versions to support the designated wlroots version.
- Bug fix for
set_custom_mode
- Add wlr output managment
- Add output damage tracking functionality.
- Add some more wlroots interfaces and modify the API for creating Compositors and associated Backend and Renderer objects.
- Add check to see if a surface is an XDG surface, and check it before returning the surface.
- Lots of new wlroots functionality and interfaces bound.
- More bug fixes still.
- Bug fix release with typo fix.
- Bug fix release with even more fixes for wlroots 0.13.
- Bugfix release with additional fixes for wlroots 0.13.
- Updates to run on wlroots v0.13.
- Add an example compositor that shows some basic functionality of pywlroots.
- Add many additional functions and bindings to support basic compositor functionality.
- Updates to work with wlroots 0.11.0
- Fixes to the 0.1.0 release to improve packaging and installation.
Initial release