# 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** ```bash paru -S middleclick-autoscroll ``` **Debian, Ubuntu, Linux Mint, Pop!_OS** ```bash 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** ```bash 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** ```bash 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](#building-from-source) or grab a `.deb`/`.rpm` from the [releases page](https://github.com/Felitendo/middleclick-autoscroll/releases). 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. The program patches the helper launch script and adds `-noverifyfiles` to Steam's launcher so the patch sticks. That means Steam won't auto-repair damaged files on its own — you can turn this 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 ```bash 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](packaging/README.md) for release builds and repo signing. ## License GPL-3.0-or-later.