All Projects → io12 → Good Scroll.el

io12 / Good Scroll.el

Licence: mit
Attempt at good pixel-based smooth scrolling in Emacs

Projects that are alternatives of or similar to Good Scroll.el

Elisp Lint
Basic linting for Emacs Lisp
Stars: ✭ 45 (-13.46%)
Mutual labels:  emacs
Aurel
Search, vote for and download AUR packages from Emacs
Stars: ✭ 48 (-7.69%)
Mutual labels:  emacs
Graphql.el
GraphQL utilities
Stars: ✭ 50 (-3.85%)
Mutual labels:  emacs
Mix Format.el
Emacs package to format Elixir code in Emacs with elixir-mode
Stars: ✭ 46 (-11.54%)
Mutual labels:  emacs
Intero
Stars: ✭ 1,042 (+1903.85%)
Mutual labels:  emacs
Ikeysnail
iKeySnail provides fully-configurable hardware keyboard functionalities for web browsing on iOS (iPadOS)
Stars: ✭ 48 (-7.69%)
Mutual labels:  emacs
0xc
Easy base conversion in emacs
Stars: ✭ 42 (-19.23%)
Mutual labels:  emacs
Emacs.g
The Emacs Collective
Stars: ✭ 51 (-1.92%)
Mutual labels:  emacs
Liberime
A emacs dynamic module provide librime bindings for emacs
Stars: ✭ 48 (-7.69%)
Mutual labels:  emacs
All The Icons.el
A utility package to collect various Icon Fonts and propertize them within Emacs.
Stars: ✭ 1,048 (+1915.38%)
Mutual labels:  emacs
.emacs.d
My emacs configuration, written as literate elisp
Stars: ✭ 46 (-11.54%)
Mutual labels:  emacs
Emacs Async Await
Async/Await for Emacs
Stars: ✭ 47 (-9.62%)
Mutual labels:  emacs
Memrise.el
Emacs Memrise integration
Stars: ✭ 49 (-5.77%)
Mutual labels:  emacs
Cfrs
Child Frame Read String
Stars: ✭ 46 (-11.54%)
Mutual labels:  emacs
Indium
A JavaScript development environment for Emacs
Stars: ✭ 1,058 (+1934.62%)
Mutual labels:  emacs
Etrace
Emacs Lisp Latency Tracing for the Chromium Catapult Trace Event Format
Stars: ✭ 45 (-13.46%)
Mutual labels:  emacs
Paredit Cheatsheet
A new, scalable source document for the Paredit Cheatsheet available as a png on the Emacs wiki
Stars: ✭ 48 (-7.69%)
Mutual labels:  emacs
Fingers.el
Modal editing minor mode for Emacs
Stars: ✭ 51 (-1.92%)
Mutual labels:  emacs
Org Evil
Evil extensions for Org-mode.
Stars: ✭ 51 (-1.92%)
Mutual labels:  emacs
Counsel Spotify
Control Spotify App through Emacs
Stars: ✭ 49 (-5.77%)
Mutual labels:  emacs

MELPA

good-scroll.el

Attempt at good pixel-based smooth scrolling in Emacs

About

This package implements smooth scrolling by pixel lines. It attempts to improve upon pixel-scroll-mode by adding variable speed.

Demo

Setup

Install and load the package. Then, enable good-scroll-mode. For example, you can add the following snippet to your config.

(good-scroll-mode 1)

FAQ

How does this work?

Instead of scroll events directly scrolling the screen, they update a destination variable. A timer that runs every good-scroll-render-rate seconds calculates the expected position and actually scrolls the window to it. To make the window scrolled partially through a line, good-scroll updates the window's vscroll (vertical scroll) position.

Why is performance sometimes bad?

Scrolling sometimes pauses or stutters. It's unclear exactly why, but one factor is that Emacs lacks animation support. Emacs has timers for updating the screen contents, which is enough for playing simple animated GIF files, but not enough for video playback or frame-perfect smooth scrolling.

How does this compare to other scrolling packages?

Other modifications, like smooth-scrolling, smooth-scroll, sublimity-scroll, and inertial-scroll also aim to improve scrolling in Emacs, but none of them involve scrolling by pixel lines, only by text lines. The built-in pixel-scroll does implement pixel line scrolling, but, unlike good-scroll, does not support dynamic scrolling velocity.

Why is this file written in Markdown and not Org?

Apparently, GitHub does not yet support rendering Org links with formatting inside of them.

https://github.com/novoid/github-orgmode-tests/issues/3

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].