Skip to content

WIP Dispatch API changes in new wayland-rs#525

Draft
ids1024 wants to merge 8 commits into
Smithay:masterfrom
ids1024:wayland-update
Draft

WIP Dispatch API changes in new wayland-rs#525
ids1024 wants to merge 8 commits into
Smithay:masterfrom
ids1024:wayland-update

Conversation

@ids1024
Copy link
Copy Markdown
Member

@ids1024 ids1024 commented May 19, 2026

Based on #519, updating to test Smithay/wayland-rs#902.

It should be good for compile errors, etc. that the functions depend on *Handler traits instead of Dispatch impls.

ids1024 added 8 commits May 13, 2026 14:09
Presumably the type argument for the `LoopHandle` is expected to match
the the `D` type used for wayland-rs dispatch? Unless the calloop event
loop isn't being used to dispatch Wayland events.

Without `keyboard:` specified in `delegate_keyboard!`, this did use
`KeyboardData<$ty>`, so in that case these are assumed to match.
WIP surface udata

fix macro

macro

WIP pointer

macro

WIP DataSourceData

macro

did earlier version not actually provide any way to implement dispatch
for custom type here?

constructor and accessors

pub constructors

touch

WIP activation

not compiling types in example?

should be fine to get rid of trait and just rely on immutable wrapper
struct.

WIP don't make `delegate_activation!` generic

Not compiling... can that work?

see how that works with new wayland-rs.

input method

should fix custom data types
previously was seemingly broken for delegating dispatch, constructing
with custom data, or commit() aaccessing `.data`

input-method-v3
example

WIP

WIP

WIP

WIP

examples

keyboard

examples

compositor

pointer

examples

examples

activation

layer

subcompositor

dmabuf

macro

session lock

relative pointer / constraints

data device

primary selection

foreign toplevel list

input method

wgpu example
There's ones are not used in examples, but `keyboard_filter` has a test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant