mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-31 13:37:35 -06:00
M3: Add middle-click autoscroll on Linux (#111)
* M3: add middle-click autoscroll Co-Authored-By: Codex <noreply@openai.com> * M3: keep middle-click autoscroll toggled after release Keep scrolling enabled after releasing the wheel, including when the pointer moves before release. Anchor speed to the initial press event, so movement later in the same frame cannot shift the starting point. Cover toggle behavior and increasing speed with distance in both views. Co-Authored-By: Codex <noreply@openai.com> * M3: increase middle-click autoscroll speed Double scrolling speed at the same pointer displacement and raise the speed cap proportionally, preserving the dead zone and click toggle. Keep the sustained-scroll fixture visible at the faster response. Co-Authored-By: Codex <noreply@openai.com> * M3: match Chromium middle-click scrolling Use a 15-point dead zone and Chromium's nonlinear distance-to-speed curve in the document viewer and Organize Pages. Request continuous redraws so scrolling follows elapsed frame time and preserves fractional movement. Keep click toggling, cancellation, and the existing marker unchanged. Cover reference speeds, pathological inputs, pause/resume, and consistent travel at 30/60/120/144 fps with different display scales and document zoom. Co-Authored-By: Codex <noreply@openai.com> * M3: leave README unchanged in autoscroll PR Remove the feature bullet so README matches upstream main. Keep the feature explanation in the pull request description. Co-Authored-By: Codex <noreply@openai.com> * M3: limit custom middle-click scrolling to Linux Return before handling input on other targets so their existing middle-button behavior, widgets, cursor, and Escape shortcuts stay intact. Restrict the autoscroll UI regressions to Linux and add unsupported-platform input coverage plus a non-Linux UI regression for the native CI matrix. Co-Authored-By: Codex <noreply@openai.com> * ROADMAP: drop the log line about merging the rename Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Codex <noreply@openai.com> Co-authored-by: Brandon Thomas <echelon@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Codex
Claude Opus 5.5
Brandon Thomas
parent
9a1bf44e07
commit
5387c346a5
@@ -887,11 +887,11 @@ title = "Automatic scrolling"
|
||||
area = "B"
|
||||
tier = "P2"
|
||||
milestone = "M3"
|
||||
status = "planned"
|
||||
status = "partial"
|
||||
commands = []
|
||||
tools = []
|
||||
evidence = []
|
||||
notes = ""
|
||||
evidence = ["crates/ui-egui/tests/control.rs::middle_click_autoscroll_latches_has_a_dead_zone_and_scrolls_both_directions", "crates/ui-egui/tests/control.rs::organize_pages_supports_autoscroll_without_selecting_or_reordering_pages", "crates/ui-egui/tests/control.rs::moving_before_middle_button_release_keeps_scrolling_without_starting_page_tools", "crates/ui-egui/tests/control.rs::farther_from_the_click_scrolls_faster_in_the_viewer_and_page_grid", "crates/ui-egui/tests/control.rs::autoscroll_uses_the_initial_click_position_when_input_arrives_in_one_frame", "crates/ui-egui/tests/control.rs::autoscroll_uses_elapsed_frame_time_and_preserves_fractional_motion_in_both_views"]
|
||||
notes = "Linux-only middle-button vertical autoscroll in the document and Organize Pages; other targets retain their existing middle-button input behavior. Click to toggle, release keeps scrolling on, and a Chromium-style nonlinear curve increases speed with vertical screen distance from the initial click. A 15-point dead zone pauses immediately. Continuous redraws use elapsed frame time and preserve fractional movement, tested at 30/60/120/144 fps. Cancels on another middle click, Escape, other pointer/wheel input, focus loss, tab changes and dialogs. Driven headlessly through the opt-in UI control channel (ui.click/ui.move/ui.drag). Keyboard-started timed scrolling is not implemented."
|
||||
|
||||
[[feature]]
|
||||
id = "view.zoom-in-out"
|
||||
|
||||
Reference in New Issue
Block a user