[Feature/Accessibility] Mouse-Wheel desktop zoom (+ more default shortcut settings)
A bit of a prelude: I have been bouncing between distribitons and desktop shells for a LONG time and I am so baffled how this is implemented in DEs based on older versions or have to be hacked together to even "exist" in the first place. So while I am willing to be constructive about this - I can't help myself being a little bit...peeved. :)
Feature summary
In MacOS, Windows and older-GNOME based DEs like Cinnamon (which I am using right now) and partially in XFCE4, it is possible to zoom in the desktop by holding Super or Alt and rolling the mouse scroll wheel up to zoom in and down to zoom out. This is beyond a quality-of-life feature as this is usually way faster than reaching from the mouse to the keyboard to do the zooming, while one of your hands already is on the mouse for most of the time. Another feature - which I implemented on my own setup using a custom shortcut - pushing one button combination inverts the colors on the screen. Now, GNOME actually already implements a far surperior version with inverse lightness. But to toggle it, one has to go all the way into the Accessibility Settings > Zoom > Colors to toggle it. A custom shortcut with this script makes it work, but it's not exactly optimal :)
#!/bin/bash
LIGHTNESS_PATH=/org/gnome/desktop/a11y/magnifier/invert-lightness
LIGHTNESS_STATE="$(dconf read $LIGHTNESS_PATH)"
if [ "$LIGHTNESS_STATE" = "false" ]; then
dconf write $LIGHTNESS_PATH true
else
dconf write $LIGHTNESS_PATH false
fi
How would you like it to work
Within Settings > Accessibility > Zoom, there should be an option to enable the mousewheel desktop zoom and to chose which key(s) are to be held to trigger the scrolling. A good default would be alt
. However, in addition, making the key not trigger any alt-key related actions when a desktop zoom was done (to stop programs showing a menu, for instance) would be a nice addition. But, for the basic hold-button-to-zoom implementation, this should do.
Relevant links, screenshots, screencasts etc.
References to this feature can be found in Cinnamon and XFCE4. I can, however, not seem to find related source files for this feature. But I can provide a screenshot:
Further, when on Windows, press Windows
++
to bring up the magnifier. Click the gear icon and go to Settings. The behaviour of the mouse-wheel zoom can be configured. In macOS: System Preferences > Accessibility > Zoom.