docs: rewrite the readme in plain words

This commit is contained in:
Felitendo committed 2026-09-04 12:59:50 +02:00
1 parent af82ffec78
commit 46e63e9faa
1 file changed
+24 -37
+24 -37
View File
@@ -1,21 +1,27 @@
# middleclick-autoscroll # middleclick-autoscroll
Middle-click autoscroll for Linux. Hold the middle mouse button, move the Middle-click autoscroll is a CLI for Linux that enables autoscroll in every application that supports it.
mouse, the page scrolls — like on Windows. Works with browsers, Electron apps, Works with browsers, Electron apps like Discord and Spotify, Steam, and anything else that runs on Chromium under the hood.
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 There is no app list. My tool just looks at what uses chromium under the hood and applies the necessary steps to get it working.
out what's Chromium-based, and handles it.
## Installing ## How to install
**Arch, CachyOS, EndeavourOS, Manjaro** **Arch**
```bash ```bash
paru -S middleclick-autoscroll yay -S middleclick-autoscroll
``` ```
**Debian, Ubuntu, Linux Mint, Pop!_OS** **Fedora**
```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
```
**Debian**
```bash ```bash
sudo install -d -m 0755 /etc/apt/keyrings sudo install -d -m 0755 /etc/apt/keyrings
@@ -26,14 +32,6 @@ echo "deb [signed-by=/etc/apt/keyrings/middleclick-autoscroll.gpg] https://felit
sudo apt update && sudo apt install middleclick-autoscroll 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** **openSUSE**
```bash ```bash
@@ -43,30 +41,24 @@ sudo zypper addrepo --gpgcheck --refresh \
sudo zypper install middleclick-autoscroll sudo zypper install middleclick-autoscroll
``` ```
Then run `middleclick-autoscroll enable`. That's it — nothing else to configure. ## How to use
Updates come through your package manager like anything else. Without a package, Just run `middleclick-autoscroll`. This will open the configuration TUI that looks like this:
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 ## How it works
Blink (the engine in Chromium, Electron, and CEF) already has autoscroll, but 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 it's off on Linux because middle click does primary-selection paste there. This
flag turns it on: flag turns it on:
```
--enable-blink-features=MiddleClickAutoscroll --enable-blink-features=MiddleClickAutoscroll
```
Doing that for one app is a five-minute job. Doing it for *all* of them — across But doing that for every app is kinda bothersome and it also might break with updates.
flag files, desktop entries, Flatpaks, snaps, autostart entries, Steam — so it That's why I created this small tool to automate that.
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 New apps are picked up by a systemd path unit that watches the
relevant directories. Without systemd, `middleclick-autoscroll apply` does the relevant directories. Without systemd, `middleclick-autoscroll apply` does the
same thing manually. same thing manually.
@@ -75,15 +67,12 @@ same thing manually.
Steam's web UI supports autoscroll but has no way to pass extra arguments to its 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 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 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 to look unchanged.
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 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 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 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. damaged files on its own just so you're aware of that.
## Commands ## Commands
@@ -97,8 +86,6 @@ damaged files on its own — you can turn it off separately in the settings.
| `… status` | What's covered | | `… status` | What's covered |
| `… list` | All apps and how they're handled | | `… list` | All apps and how they're handled |
See `man middleclick-autoscroll` for more.
## Building from source ## Building from source
```bash ```bash