GNOME 3 is not compatible with Compiz, so I cannot use the desktop zoom feature from Compiz. I googled for a long time, and it seems GNOME still does not support desktop zoom -- does it? I am using GNOME 3.2.1

  • There is the zoom option in GNOME3's accessability menu (tray icon near the right end of the system tray / top panel).
    – fheub
    Mar 5, 2012 at 10:30
  • @fheub I can switch the setting “Zoom” in the control panel to on or off, but how to access the zoom function? It says: “Zoom in: No shortcut set” and “Zoom out: No shortcut set”. How to assign these shortcuts?
    – Marco
    Mar 5, 2012 at 11:11
  • 1
    GNOME3's zoom offering is garbage compared to what could be achieved in the Unity 7 desktop (where you could tie it to the alt+scroll-wheel). That felt like infinite granularity compared to GNOME3's jagged button based approach where it is always a little bigger or smaller than exactly what you want and there's no size in between. Only after moving to KDE did I regain this feature to the degree that met my expectations of seemingly infinite fine-grained zoom with mouse-scroll-wheel control. Oct 13, 2021 at 11:40

4 Answers 4


For those who don't mind using keyboard shortcuts instead of the mouse scrollwheel, here they are (tested with Gnome 3.14.2):

  • Super+Alt+8 : Toggle zoom enabled/disabled (when enabled, the next two keyboard shortcuts become active)
  • Super+Alt++ : Zoom in (increases zoom factor by 1.0)
  • Super+Alt+- : Zoom out (decreases zoom factor by 1.0, until it is 1.0)

(Yes, decreasing zoom factor all the way down to 1.0 will look unzoomed, but zoom (and its keyboard shortcuts) remain active.)

  • I tried this on gnome-shell-3.26, it still works, yay! :-) however the magnification also follows the keyboard caret, but in a wrong way (the caret is supposed to be in a center but it ends up in lower right corner, basically hiding everything). I had to disable the caret following in the dconf-editor /org/gnome/desktop/a11y/magnifier/caret-tracking
    – MariusM
    Feb 15, 2018 at 8:16
  • 1
    Tested in Ubuntu 18.04 just now. Works as described.
    – Alfe
    Jul 9, 2018 at 0:42
  • 1
    Not sure why or how to change it but with an Spanish (localectl status:es) layout was "0" instead of "+".
    – Pablo A
    Oct 16, 2018 at 6:29
  • 1
    For those wondering Super is typically gets bound to the Win key. Jan 23, 2019 at 9:56
  • I filed this issue about the incorrect keybinding on some non-English keyboard layouts
    – Pablo A
    May 22, 2020 at 8:00

To answer my own question...

The Gnome3 has a zoom feature in the accessibility menu. Thanks to @fheub. If you want to use shortcut key, you can edit the shortcut key in the keyboard system settings.


But my point is:

  1. the zoom feature in accessibility menu is designed for people with vision problem. Has the Gnome developer ever realize everyone may want/need such a feature regardless of the condition of their eyes?
  2. By setting the shortcut key, it is literally means the the key on your keyboard, not including your mouse. But with Compiz, I can use the mod-key + mouse scroll wheel to zoom in/out. Much more convenient.
  • 3
    "Gnome developer ever relize everyone may want/need such a feature recardless of the condition of their eyes?" Agreed! I just want to be able to use the computer on my living room TV from the couch. Oct 16, 2018 at 16:22

Gnome Shell Mousewheel zoom is an extension to provide this functionality, it doesn't seem to be on extensions.gnome.org yet.


  • 1
    Any suggestions for 2018? May 15, 2018 at 8:32
  • Any suggestions for 2019? Oct 10, 2019 at 2:39
  • 1
    It looks like the extension listed above can still work if you compile it yourself. Oct 10, 2019 at 9:27

I was able to get mousewheel to control zoom in ubuntu 20.04 LTS using xbindkeys and a simple bash script:

#!/usr/bin/env bash
# gmagctl - manage gnome magnifier
# usage: gmagctl [ zoom-in | zoom-out ]

# suggested .xbindkeysrc settings:
#    "gmagctl zoom-in"
#      shift + control + b:4
#    "gmagctl zoom-out"
#      shift + control + b:5

## preferences
# zoom factor increment
# minimum zoom factor (don't set less than 1)
# maximum zoom factor

# dconf paths

# make sure zoom is enabled
# start at min if it was off
if [[ $(dconf read $mstat) == "false" ]] ; then
  dconf write $mfac $min
  dconf write $mstat "true"

cur=$(dconf read $mfac)

if [[ "$1" == "zoom-in" ]] ; then
  new=$(bc <<< "$cur + $inc")
  if [[ $(bc <<< "$new <= $max") -ne 0 ]] ; then
    dconf write $mfac $new

if [[ "$1" == "zoom-out" ]] ; then
  new=$(bc <<< "$cur - $inc")
  if [[ $(bc <<< "$new >= $min") -ne 0 ]] ; then
    dconf write $mfac $new

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .