指针在左侧缩略图条上时,滚轮滚动缩略图列表,能滚到最后一页。
注入方式:uinput 合成 REL_WHEEL(与真实鼠标滚轮同一条 libinput → sway → 客户端路径),不涉及点击。
三项在同一分钟内、同一窗口、同一注入设备上依次完成。右栏能滚说明滚轮事件已到达该窗口,因此与系统输入栈、合成设备无关。
左侧栏(apps/ely-show/src/slides.rs,impl Render for Strip):
let list = div() .id("show-strip") ... .size_full() .overflow_y_scroll() // 没有 track_scroll,也没有用 ScrollArea .flex().flex_col().gap_2().p_2() .children(slides); div() .size_full() .child(ContextMenu::new("show-strip-menu", popup(cx)).child(list))
ContextMenu 的宿主 div 是 div().id(..).relative()(src/menus/hosts.rs),高度 auto;list 的 size_full() 落在它下面。
右侧栏(apps/ely-show/src/design.rs:159,能滚动):
ScrollArea::new("show-panel-scroll").vertical().size_full().child( ... )
ScrollArea 自己的根 div 带 size_full(),内部 scroll-body 还 track_scroll(&handle)(src/layout/scroll.rs)。
建议排查两点:
可能的修法(任选其一):
回归建议:真窗口测试里把指针放在缩略图条上滚一格,断言列表偏移变化(组件库 src/lists/tests/mod.rs 已有 simulate_event(ScrollWheelEvent{..}) 的写法可参考)。
以上 issue 为 LLM 生成,如有影响敬请见谅。
感谢,我欢迎LLM生成issue。
fixed
No dependencies set.
The note is not visible to the blocked user.
环境
复现步骤
实际结果
期望结果
指针在左侧缩略图条上时,滚轮滚动缩略图列表,能滚到最后一页。
证据
注入方式:uinput 合成 REL_WHEEL(与真实鼠标滚轮同一条 libinput → sway → 客户端路径),不涉及点击。
三项在同一分钟内、同一窗口、同一注入设备上依次完成。右栏能滚说明滚轮事件已到达该窗口,因此与系统输入栈、合成设备无关。
已经排除的原因
return,改用 AxisValue120/AxisDiscrete 累积成 ScrollDelta::Lines。右栏正常消费同一事件。
源码线索
左侧栏(apps/ely-show/src/slides.rs,impl Render for Strip):
ContextMenu 的宿主 div 是 div().id(..).relative()(src/menus/hosts.rs),高度 auto;list 的 size_full() 落在它下面。
右侧栏(apps/ely-show/src/design.rs:159,能滚动):
ScrollArea 自己的根 div 带 size_full(),内部 scroll-body 还 track_scroll(&handle)(src/layout/scroll.rs)。
建议排查两点:
局这一路不能单独解释,需要真窗口确认。
hitbox.should_handle_scroll(window),即 hitbox 是否在 window.mouse_hit_test.ids 里。
可能的修法(任选其一):
回归建议:真窗口测试里把指针放在缩略图条上滚一格,断言列表偏移变化(组件库 src/lists/tests/mod.rs 已有 simulate_event(ScrollWheelEvent{..}) 的写法可参考)。
以上 issue 为 LLM 生成,如有影响敬请见谅。
感谢,我欢迎LLM生成issue。
fixed