elementary / gala

Gala Window Manager for elementary OS and Pantheon
https://elementary.io
GNU General Public License v3.0
272 stars 76 forks source link

Zoom with Super + Scroll #815

Open techdev5521 opened 4 years ago

techdev5521 commented 4 years ago

Prerequisites

Feature

Is your feature request related to a problem? Please describe.

I'm visually impaired and would like to invoke the screen magnifier with Ctrl + Scroll like macOS so that I don't have to take my hand off my mouse to zoom in and zoom out as I change zoom levels several times a minute and this slows me down.

Describe the solution you'd like

macOS allows the magnifier to be invoked with Ctrl + Scroll. I'd like similar functionality.

Existing work

On Gnome Shell proper, this functionality was achieved with this project: https://github.com/tobiasquinn/gnome-shell-mousewheel-zoom

Describe alternatives you've considered

Additional context

I've been looking into tobiasquinn's project to understand how it works (for about 20 minutes) and am willing to contribute code when I understand both that project and Gala enough to do so. Any help is appreciated.

cassidyjames commented 4 years ago

I think we'd do Super + Scroll since Super is window-manager-level stuff, and many apps have Ctrl + Scroll for zooming inside the app. But otherwise I'm :+1:

janxkoci commented 3 years ago

This could also help avoid some locale-specific collisions: When my zoom works properly with the shortcut Super++, then I can no longer use Super+1 to switch to 1st workspace, because in Czech locale the symbols 1 and + are on the same key (the key above a letter Q). I currently experience a race condition after reboots when some sessions have that key set as + (so pressing the combo starts zooming) and other sessions have it set as 1 (so pressing the combo switches to 1st workspace).

Note that zooming by scrolling is not very convenient on a touchpad, so it probably should not be the only option.

cassidyjames commented 3 years ago

For touchpads we do already support multi-touch zooming as well, through System Settings → Mouse & Touchpad → Gestures.