Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Destination-based ("glide") smooth scrolling mode, like Chromium

Đang mở
#1,470 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
62/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
git, macos, swift
Lĩnh vực
desktop-dev

Hướng nghiên cứu

Start by reading GlideScrollingEngine and GlideScrollingTransformer, then inspect the scrolling.glide configuration and JSON schema changes. Apply and inspect the attached patch with git am, and run the relevant unit tests plus the macOS app in Xcode. The feature is done when Glide is available in the Scrolling mode picker, overrides Smoothed only for enabled directions, preserves line-mode behavior, and includes matching configuration documentation and schema support.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement
OS

27.0.1

LinearMouse

v0.13.0-beta.4

Is your feature request related to a problem?

This has bothered me for months. I use a notched-wheel mouse, and LinearMouse's Smoothed mode always feels floaty in comparison to something like chrome or (brave browser for me) smooth scrolling implementation. And this is because of the way linear mouse adds momentum to make scrolling smooth Quick clicks stack up, so I overshoot where I wanted to land. I spent a long time tuning response, speed, acceleration and inertia, but nothing fixes it, because the problem is the momentum model itself. Inertia 0 removes the coasting, but each click then becomes a short, jittery burst.

Describe the solution you'd like

What I wanted is how scrolling feels in Brave/Chrome: each click slides the page a set distance and stops right there. The snappiness of line based scrolling with the smoothness that brave/chrome implement.

Describe alternatives you've considered

Better Mouse app, it is proprietary closed source app and paid, although it solves this with its scrolling, it runs into a different issue where because its pixel based system that differs a lot from line based it doesn't work well in games and doesn't have a line based system I could set for games the way I could be able to do it on linear mouse, so scrolling only works good on standard applications.

Additional context

Full disclosure: I'm not a developer, and this is completely vibe-coded. I built it with Claude (Anthropic's AI). I described how Chromium-style scrolling should feel, Claude studied how Chromium does it and wrote the code, and I tested it on my Mac. It builds cleanly in Xcode, and honestly it works really well. It's exactly the feel I was missing.

How it's put together, in case it's useful:

  • A separate engine (GlideScrollingEngine + GlideScrollingTransformer) that doesn't touch the existing Smoothed code.
  • A scrolling.glide config key that merges field by field across schemes, so one app can override just the line height.
  • A "Glide" option in the Scrolling mode picker, documentation, the JSON schema update, and unit tests.
  • When Glide is on for a direction it takes precedence over Smoothed; line mode is unchanged, so my game profiles still get real one-click-one-step events.

It's on a fork based on current main (v0.13.0-beta.4). I'd really love to see this become an official option in LinearMouse. I'm happy to open a PR, but I fully understand if you'd rather review the approach first, rewrite it your own way, or just use it as a reference. Whatever works best for you. Thanks for building LinearMouse; the per-app schemes are what made this possible.

The attached patch applies on top of current main (843d9a0) with git am.
glide-scrolling-patch.zip

Ngôn ngữ chính
Swift
Star
6.9k
Fork
175
Merge trung bình
6 giờ 2 phút
Pull request đã merge (30 ngày)
28

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của linearmouse/linearmouse

Tất cả issue của linearmouse/linearmouse

Issue tương tự

Thêm issue về Swift

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.