A very simple screen magnifier.
A PPA for Magnus is published by Martin Wimpress.
sudo add-apt-repository ppa:flexiondotorg/magnus
sudo apt update
sudo apt install magnusThere's also an Ansible deployment by Taha Ahmed at codeberg.
The original code was built around GTK 3, libkeybinder, and legacy GDK screen
capture APIs. Current GNOME guidance is GTK 4 plus modern shortcut APIs, and
GTK 4 has removed the old root-window capture functions entirely. Magnus now
uses:
PyGObjectwithGtk 4mssfor screen capturegrimfor screen capture on Wayland sessionsmssfor screen capture on X11 sessionspynputfor pointer access
You'll still need the GTK runtime and typelibs from your distro:
gir1.2-gdkpixbuf-2.0gir1.2-glib-2.0gir1.2-gtk-4.0grimwhen running on Waylandpython3python3-gi- an X11 session or a Wayland compositor with
grimsupport for screen capture
If you want to run Magnus with uv, install the GObject introspection packages from
your distro first, then sync the Python dependencies from pyproject.toml:
sudo apt install gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0 gir1.2-gtk-4.0
uv sync
uv run magnusNote: GTK 4 no longer has a toolkit-native replacement for libkeybinder style
desktop-global shortcuts, and real-time screen magnifiers remain constrained by
Wayland security rules. The updated app uses modern GTK application actions for
zoom shortcuts and an X11/XWayland-friendly capture path.
To install Magnus into the current Python environment with pip:
python -m pip install .
magnus
