Gnome Shell / Ubuntu 17.10+ : Magnifier
With GNOME Shell (instead of Compiz) as Window Manager (wmctrl -m
):
- Super+Alt+8: Toggle zoom enabled/disabled
- Super+Alt++/-: To increase/decrease zoom.
On some non-English keyboard layouts + won't work, try 0 instead.
Surprisingly, numpad +/- won't work.
You can change the shortcuts on Settings > Devices > Keyboard and zoom options on Settings > Universal access settings > Zoom:
Source.
Issue: Screenshot of an area (Ctrl + Shift + PrntScrn seems to be broken when zoom is enabled. It captures a region with an offset. Also, it doesn't start zooming where is the pointer.
See also
- Magnify a screen area
- Orca: Orca is a free, open source, flexible, and extensible screen reader that provides access to the graphical desktop via speech and refreshable braille.
You can try to edit the Nautilus source code to scale the font in the zoom like in Nautilus 3.4.
NOTE: In this example I'm running ubuntu 13.04 with nautilus (files) 3.6.3.
You can test this in a virtual machine to see if everything is OK.
First of all, I set the Nautilus Prefereces in "List View" as Default View and "200%" the zoom in List View Defaults.
By default the result with no scale font would be:
1) Make sure you have enable the Source code repository
- Open the Ubuntu Software Center
- In the Menu Bar choose Edit -> Software Sources. Click to enable "Source code repository".
Just in case I use the "Main Server" to Download.
Open a Terminal window and type:
2) In the Terminal type the following to install the necessary packages.
sudo apt-get install build-essential quilt
3) Install build dependencies.
sudo apt-get build-dep nautilus
4) Create a folder to download the source code.
mkdir ~/Downloads/src
cd ~/Downloads/src
5) Download the source code & Export variables.
6) Create the patch and Edit the source code.
After line 133 add:
static void nautilus_list_view_scale_font_size (NautilusListView *view,
NautilusZoomLevel new_level);
After line 2506 add:
static void
nautilus_list_view_scale_font_size (NautilusListView *view,
NautilusZoomLevel new_level)
{
GList *l;
static gboolean first_time = TRUE;
static double pango_scale[7];
int medium;
int i;
g_return_if_fail (new_level >= NAUTILUS_ZOOM_LEVEL_SMALLEST &&
new_level <= NAUTILUS_ZOOM_LEVEL_LARGEST);
if (first_time) {
first_time = FALSE;
medium = NAUTILUS_ZOOM_LEVEL_SMALLER;
pango_scale[medium] = PANGO_SCALE_MEDIUM;
for (i = medium; i > NAUTILUS_ZOOM_LEVEL_SMALLEST; i--) {
pango_scale[i - 1] = (1 / 1.2) * pango_scale[i];
}
for (i = medium; i < NAUTILUS_ZOOM_LEVEL_LARGEST; i++) {
pango_scale[i + 1] = 1.2 * pango_scale[i];
}
}
g_object_set (G_OBJECT (view->details->file_name_cell),
"scale", pango_scale[new_level],
NULL);
for (l = view->details->cells; l != NULL; l = l->next) {
g_object_set (G_OBJECT (l->data),
"scale", pango_scale[new_level],
NULL);
}
}
After line 2569 add:
/* Scale text. */
nautilus_list_view_scale_font_size (view, new_level);
Remove lines 3051 & 3052.
/* ensure that the zoom level is always set before settings up the tree view columns */
list_view->details->zoom_level = get_default_zoom_level ();
7) Build the deb packages.
quilt refresh
fakeroot dpkg-buildpackage
8) Install the deb packages.
9) Finally you can Logout and Login to see the changes.
Result:
NOTE: You can zoom in, zoom out with the Ctrl + Mouse Whell or with Ctrol++ & Ctrol+- keys.
Hope it helps.
Best Answer
Here is a script called
run_scaled
which uses xpra to run a single application in a scaled environment:https://github.com/kaueraal/run_scaled