midscroll v1.11
Feature release adding a settings GUI and a click-to-toggle scroll mode, plus
security hardening across the daemon and session helper. Toggle mode was
requested in #1 by @ionburger.
Added
- Settings GUI (
midscroll-settings). A GTK4 window to change every
tunable - speed, dead zone, event rate, natural scrolling, the app blacklist
and the new toggle mode - with no terminal or config editing. Changes are
written by a small privileged helper (midscroll-apply) through pkexec,
which restarts the daemon so they take effect immediately. - Toggle mode (
TOGGLE_MODE). Click the middle button once to start
autoscroll and again - or any click - to stop it (Windows-Explorer / Firefox
style) instead of holding and dragging. Off by default; enable it in the GUI
or the config. Requested in #1 by @ionburger. - Themed app icon. The scroll-arrows badge artwork now doubles as the
settings app icon, so the launcher and Wayland window icon match the badge.
Security
- Sandboxed the daemon and the session helper. The overlay now runs with
NoNewPrivileges,ProtectSystem, and kernel/clock/namespace
with a restricted address-family set; the daemon gained a syscall filter
(@system-service,EPERM) andMemoryDenyWriteExecute. - Bounded the one input crossing the pkexec boundary. The blacklist value
passed tomidscroll-applyis now stripped of anything that is
plausible window-class character and length-capped, so it can't mangle the
config or carry a malformed payload. - Shipped a polkit policy for
midscroll-apply(auth_admin_keep), so
applying settings uses a scoped, briefly-cached authorization i
generic full-admin auth. - Hardened self-recognition. The daemon refuses to grab its o
mirrors even if the phys marker fails, and warns at startup if the marker
doesn't round-trip - closing a hotplug window that could feed r
back on itself.
Fixed
- Scroll badge and app blacklist under the new sandbox. kdoto
real, shared, writable/tmpto hand KWin its script; the overlay now uses
ProtectSystem=full(notstrict) and noPrivateTmp, which
broken the badge and focus reporting. - Settings window height. The window now opens tall enough to
control, capped to the monitor height so it never runs off a small screen.
Notes
- Middle-drag remains hold-and-drag by default; toggle mode is op
- You are encouraged to review the source yourself - it runs as root at the
input layer. See the Security section of the README. - Packaging bumped for Fedora (RPM), Debian (deb), and Arch (PKGBUILD).
Full changelog: v1.6...v1.11