Felitendo af82ffec78
release / Debian package (push) Failing after 14s
release / Release and repositories (push) Skipped
release / Install from the RPM repository (push) Skipped
release / RPM package (push) Failing after 30s
chore: 1.2.0
Steam's autoscroll stops depending on -noverifyfiles: the patch is written at
the size and timestamp Steam recorded, so the client's own file check finds
nothing to repair and the flag survives whichever way Steam was started. An
installation patched by 1.1.0 is redone at the original size on the next apply.

Also picks up the launch paths that were never covered - shortcuts on the
desktop, Steam as a Flatpak, steam-native and steam-jupiter.
2026-09-01 13:24:20 +02:00
2026-08-16 19:48:54 +02:00
2026-08-16 19:48:54 +02:00
2026-09-01 13:24:20 +02:00

middleclick-autoscroll

Middle-click autoscroll for Linux. Hold the middle mouse button, move the mouse, the page scrolls — like on Windows. Works with browsers, Electron apps, Flatpaks, snaps, Steam, and anything else that runs on Chromium under the hood.

No app list to maintain. The program looks at what's actually installed, figures out what's Chromium-based, and handles it.

Installing

Arch, CachyOS, EndeavourOS, Manjaro

paru -S middleclick-autoscroll

Debian, Ubuntu, Linux Mint, Pop!_OS

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://felitendo.github.io/middleclick-autoscroll/KEY.gpg \
  | sudo gpg --dearmor -o /etc/apt/keyrings/middleclick-autoscroll.gpg
echo "deb [signed-by=/etc/apt/keyrings/middleclick-autoscroll.gpg] https://felitendo.github.io/middleclick-autoscroll/deb ./" \
  | sudo tee /etc/apt/sources.list.d/middleclick-autoscroll.list
sudo apt update && sudo apt install middleclick-autoscroll

Fedora, RHEL, CentOS Stream

sudo curl -fsSL -o /etc/yum.repos.d/middleclick-autoscroll.repo \
  https://felitendo.github.io/middleclick-autoscroll/middleclick-autoscroll.repo
sudo dnf install middleclick-autoscroll

openSUSE

sudo rpm --import https://felitendo.github.io/middleclick-autoscroll/KEY.gpg
sudo zypper addrepo --gpgcheck --refresh \
  https://felitendo.github.io/middleclick-autoscroll/rpm middleclick-autoscroll
sudo zypper install middleclick-autoscroll

Then run middleclick-autoscroll enable. That's it — nothing else to configure.

Updates come through your package manager like anything else. Without a package, build from source or grab a .deb/.rpm from the releases page.

Run middleclick-autoscroll disable before removing the package — it undoes everything.

How it works

Blink (the engine in Chromium, Electron, and CEF) already has autoscroll, but it's off on Linux because middle click does primary-selection paste there. One flag turns it on:

--enable-blink-features=MiddleClickAutoscroll

Doing that for one app is a five-minute job. Doing it for all of them — across flag files, desktop entries, Flatpaks, snaps, autostart entries, Steam — so it survives upgrades, is not. That's what this does.

New apps are picked up within a second by a systemd path unit that watches the relevant directories. Without systemd, middleclick-autoscroll apply does the same thing manually.

Steam

Steam's web UI supports autoscroll but has no way to pass extra arguments to its helper, so the program patches the script that starts it. Steam checks its own files at every start and repairs whatever looks changed, so the patch is written to look unchanged: the bytes the argument costs come back out of the script's comments and the timestamp is restored, leaving a file exactly as long and as old as Steam left it. It survives however you start Steam — the menu, a desktop shortcut, a game launcher, a terminal.

As a fallback, for the case where that isn't possible, -noverifyfiles goes on everything that starts Steam: its launcher, its autostart entry, and the shortcuts it writes for single games. That one means Steam won't auto-repair damaged files on its own — you can turn it off separately in the settings.

Commands

Command
middleclick-autoscroll Interactive menu
… enable Turn on, apply, start watching
… disable Undo everything
… apply Apply to new apps
… apply --rebuild Redo from scratch
… status What's covered
… list All apps and how they're handled

See man middleclick-autoscroll for more.

Building from source

make
sudo make install

Optionally needs msgfmt (gettext) for translations and scdoc for the man page. Supports PREFIX and DESTDIR. make check runs syntax checks and shellcheck.

See packaging/README.md for release builds and repo signing.

License

GPL-3.0-or-later.

S
Description
No description provided
Readme GPL-3.0
2.2 MiB
0 Stars 1 Watchers 0 Forks
v1.7.0
Latest
2026-10-04 20:28:24 +02:00
Languages
Shell 95.2%
Makefile 2.8%
HTML 2%