Files
doomemacs/modules/ui/smooth-scroll
Henrik Lissner e91a5edd31 fix(smooth-scroll): good-scroll & ultra-scroll interop
Makes these two packages coexist better and more efficiently.

Ref: 5f04b56229
2025-04-03 21:49:59 -04:00
..

:ui smooth-scroll

Description   unfold

This module enables multiple kinds of smooth scrolling in Emacs. Its primary function is to make input scrolling (on trackpads and scroll wheels) pixel-smooth. With the +interpolate flag, it performs interpolated scrolling on a growing list of scroll commands that traverse larger distances, smoothly scrolling from point A to B on PgUp or PgDown (or C-d/C-u for Evil users).

 This module requires Emacs 29.1 or newer.

 Scroll interpolation support is currently limited to the scroll-up and scroll-down commands, and any command that calls them (like evil-scroll-down and evil-scroll-up), so you're likely to find many scroll commands are not interpolated. We welcome PRs to expand its support.

Module flags

+interpolate
Enables scroll interpolation for some larger-step scrolling commands. E.g. PgUp and PgDown (or C-d/C-u for Evil users) will now smoothly scroll to its destination rather than jump to it.

Hacks

No hacks documented for this module.

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

This module has no external requirements.

 For optimal performance from this module, it's highly recommended you use Emacs with native-compilation. MacOS users may also have a better experience using the emacs-mac fork of Emacs, available via Homebrew.

Usage

This module only needs to be activated to experience its benefits.

TODO Configuration

󱌣 This module has no configuration documentation yet. Write some?

Troubleshooting

This module should work on any platform that provides pixel-level scrolling information from your input hardware, but if you run into issues, here are some things to try:

  • Use M-x ultra-scroll-check to diagnose common issues. Visit ultra-scroll's documentation for more on interpreting and acting on its results.
  • Read ultra-scroll's documentation on scrolling speed; it outlines common factors that may impact it and how to mitigate them.
  • See Doom's "Why is Emacs/Doom slow?" write-up, where Doom's author documents common factors that can slow Emacs down in general (not specifically to do with scrolling) and what to do about them.

If all else fails, let us know on Discourse or Discord. Only file an issue if you have a good idea what's causing the problem or have an explicit error to report (performance issues, in general, tend to be the result of many factors and are the greatest source of false positives on our issue tracker).

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?