Pia's log shows the lift arriving 200-300 ms after the last move on every swipe, so the release looked like a resting finger and nothing glided. The vendored winit now keeps the Wayland timestamp of each touch event (take_touch_time), and the fling measures with those times instead of when the app got around to handling the events. The diagnostics log both gaps and any event handling that blocks the app for more than 40 ms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
# winit 0.29.15 for ink-notes
|
|
|
|
Copy of [winit 0.29.15](https://crates.io/crates/winit/0.29.15) (Apache-2.0, see
|
|
`LICENSE`), used through `[patch.crates-io]` in the top-level `Cargo.toml`. Examples, tests and
|
|
docs of the original crate were removed.
|
|
|
|
## Changes
|
|
|
|
- `src/platform_impl/linux/wayland/seat/touch/mod.rs`: on Wayland, winit draws the title bar
|
|
itself (client-side decorations) but only handles the mouse there. Touches on the title bar
|
|
are now passed to the frame like a left click: close, minimize and maximize work with a
|
|
finger, and dragging the title bar moves the window (Issue #36). All changes are marked with
|
|
`ink-notes patch`.
|
|
- `src/platform/wayland.rs`: `ignore_decoration_touches_until` lets ink-notes ignore touches on
|
|
the title bar while the pen is near the screen, so a resting palm does not move the window
|
|
(Issue #39).
|
|
- `src/platform/wayland.rs` and the touch handler: `take_touch_time` returns the compositor
|
|
timestamp of each touch event (Started, Moved, Ended), so ink-notes measures the swipe speed
|
|
for gliding with the real event times and not with the time it got around to handling them
|
|
(Issue #28).
|
|
- `Cargo.toml`: `[lints.rust] warnings = "allow"`, because a path dependency is not built with
|
|
capped lints like a crates.io dependency.
|
|
|
|
Remove the copy and the `[patch.crates-io]` entry when ink-notes moves to a winit version that
|
|
handles touch on its decorations.
|