Mozzarella

Home

Zoom Page WE

CHANGES

Version 19.13 (awaiting release)

• Improvements to popup panel.
• Minor bug fixes.

OVERVIEW

Zoom Page WE provides facilities to zoom a web page (either per-site or per-tab) using full-page zoom, text-only zoom and minimum font size. AutoFit (fit-to-width) zoom can be applied manually or automatically. Small images can be scaled to fit the browser window. Please see the 'Zoom Mode', 'Zoom Type' and 'Image Scaling' sections for more details.

Zoom Page WE is implemented using the new WebExtensions API and is available for both Firefox and Chrome with identical functions and user interfaces.

IMPORTANT NOTES

Firefox 75 to Firefox 94
If using Firefox 75 to Firefox 94, before disabling or removing Zoom Page WE, follow these steps to restore Firefox's normal zoom behaviour:
• Open the Zoom Page WE Options dialog.
• Set the 'Zoom Mode' to 'Per-Site'.
• Enable the 'Let browser manage per-site full zoom' option.
• Click on the 'Save' button.

Firefox 74 or earlier
If using Firefox 74 or earlier, the 'browser.zoom.siteSpecific' preference must be manually set in Firefox's 'about:config' page. If the 'Let browser manage per-site full zoom' option is enabled, then 'browser.zoom.siteSpecific' must be set to true, otherwise 'browser.zoom.siteSpecific' must be set to false.

Touch Pad/Screen
When using a touch pad or touch screen with Zoom Page WE, unexpected zooming or jittering may occur. In this case, the 'Use Zoom Levels for Ctrl+Wheel & Pinch zooming' option should be disabled.

OPTIONS PAGE

The Save Page WE Options page can be accessed as follows:

• Firefox - Right-click on the toolbar button, select Manage Extension, click on the ••• button and select Options.

• Chrome - Right-click on the toolbar button, and then select Options.

TOOLBAR BUTTON

After installation of Zoom Page WE, there will be a new icon on the main toolbar with a blue badge showing the current zoom level.

To change the zoom level for a page, click on the Zoom Page WE toolbar button to show the popup panel, then click on one of the six buttons on the right side of the popup panel:

• Zoom Type - toggles the zoom type between Full zoom and Text zoom.
• Zoom Level (%) - shows a drop-down menu from which a specific zoom level can be selected.
• Zoom In (+) - increases the zoom level to the next defined zoom level or by a fixed zoom step.
• Zoom Out (-) - reduces the zoom level to the next defined zoom level or by a fixed zoom step.
• Zoom Autofit - adjusts the zoom level so the page contents fit the width of the browser window.
• Zoom Reset - applies the defined default zoom type and default zoom level.

Note, Ctrl+Click on the Zoom Reset button sets the default full/text zoom level to the currently applied zoom level.

To change the minimum font size for a page, click on the Zoom Page WE toolbar button to show the popup panel, then click on one of the two buttons on the left side of the popup panel:

• Font Minimum Size (px) - shows a drop-down from which a specific minimum font size can be selected.
• Font Reset - applies the defined default minimum font size.

Note, Ctrl+Click on the Font Reset button sets the default font size to the currently applied font size.

There are options to:

• show the full or text zoom level on the button.
• show zoom, minimum font size and subsite states on the button.

CONTEXT MENU & BUTTON MENU

To change the zoom level of a page, right-click on the page contents to open the context menu, select the 'Zoom Page WE' sub-menu, and then select one of the menu items.

Alternatively, right-click on the Zoom Page WE toolbar button to open the button menu, and then select one of the menu items.

The available menu items are:

• Zoom In
• Zoom Out
• Zoom Reset
• Zoom Type
• Zoom AutoFit
• Font Reset

These menu items have the same effect as the similarly named buttons on the toolbar button popup panel.

There is an option to show/hide the Zoom Page WE submenu on the context menu.

There is an option to make small adjustments to the zoom level by pressing the 'Shift' key at the same time as clicking 'Zoom In' or 'Zoom Out'.

KEYBOARD SHORTCUTS

To open the toolbar button popup panel, press Alt+Z. This shortcut can be reconfigured in the Shortcuts tab of the Zoom Page WE Options page.

To change the zoom level of a page, press one of these five keyboard shortcuts:

• Zoom In - Ctrl+Plus
• Zoom Out - Ctrl+Minus
• Zoom Reset - Ctrl+0
• Zoom Type - Ctrl+9
• Zoom AutoFit - Ctrl+8
• Font Reset - Ctrl+7

These keyboard shortcuts have the same effect as the similarly named buttons on the toolbar button popup panel.

There is an option to enable/disable the Ctrl+7, Ctrl+8 and Ctrl+9 keyboard shortcuts.

There is an option to make small adjustments to the zoom level by pressing the 'Shift' key at the same time as pressing 'Ctrl+Plus' or 'Ctrl+Minus'.

MOUSE WHEEL

To change the zoom level of a page, when the mouse is over the page contents, hold down the 'Ctrl' key (or hold down the right mouse button) and rotate the mouse wheel.

To change the zoom level of a page, when the mouse is over the right-side of the toolbar button popup panel, simply rotate the mouse wheel.

To change the minimum font size of a page, when the mouse is over the left-side of the toolbar button popup panel, simply rotate the mouse wheel.

There is an option to enable/disable using Zoom Page WE's Zoom Levels (instead of Firefox's 10% steps or smooth zooming) for 'Ctrl+Wheel' zooming and 'Pinch' zooming.

There is an option to enable/disable Right-Button+Wheel zooming.

There is an option to make small adjustments to the zoom level by pressing the 'Shift' key at the same time as using 'Ctrl+Wheel'.

ZOOM MODE

There is an option to set the 'Zoom Mode' as either 'Per-Site' or 'Per-Tab'.

'Per-Site' zoom is also known as 'site-specific' zoom. 'Per-Tab' zoom is always independent in each tab.

'Per-Site' zoom can be made more specific by allowing the definition of subsites and the application of per-subsite zoom.

When using 'Per-Site' zoom mode, Zoom Page WE normally manages the application of the per-site full zoom levels. There is an option to let the browser manage the application of the per-site full zoom levels. This is particularly useful when using Chrome, since it avoids frequent zoom popups in the address bar. However, enabling this option prevents the use of many other zoom mode options.

There is an option to automatically apply AutoFit (fit-to-width) zoom. AutoFit zoom is applied when a page is loaded or when the browser is resized. AutoFit zoom is only applied if there is no per-site zoom level already applied.

There is an option to use a CSS Zoom engine instead of the browser's built-in zoom engine. This is particularly useful when using Chrome, since it avoids frequent zoom popups in the address bar.

When using 'Per-Site' zoom mode, there are options to:

• use 'Per-Tab' zoom when viewing images.
• treat a domain and its subdomains as separate sites.
• allow the definition of subsites and the application of per-subsite zoom.

When using 'Per-Tab' zoom mode, there is an option to reset to the default zoom level when loading a page (this is the default in Chrome, but not in Firefox).

ZOOM TYPE

There is an option to set the 'Zoom Type' as either 'Full' or 'Text'.

When using the 'Full' zoom type, the currently selected zoom level will be applied to all elements (text, graphics and containers) in the page.

When using the 'Text' zoom type, the currently selected zoom level will be applied to text elements in the page, and the default other (non-text) zoom level will be applied to the other elements (graphics and containers) in the page.

ZOOM LEVELS

There are options to:

• define the set of zoom levels that are applied when zooming in/out.
• define the default full zoom level applied to all content.
• define the default text zoom levels applied to text and other (non-text) content.
• define the autofit minimum and maximum zoom levels.
• zoom to the next defined zoom level or by a fixed zoom step when zooming in/out.
• define the fixed zoom step.

Note, when using Firefox, it is possible to apply zoom levels outside of 30-300 if the 'zoom.minPercent' and 'zoom.maxPercent' preferences are changed in the 'about:config' page.

MINIMUM FONT SIZE & TEXT ZOOM

There are options to:

• define the default minimum font size.
• adjust the text font family for text zoom and minimum font size.
• adjust the line space factor for text zoom and minimum font size.
• apply text zoom and minimum font size to dynamic content (enabled by default).

IMAGE SCALING

Zoom Page WE extends Firefox's 'View Image' functionality with fit-to-window scaling for all images, including images whose natural size is less than the browser window size.

When an image is clicked, it toggles between two modes: ‘natural size’ and ‘fit-to-window’.

In ‘natural size’ mode, resizing the window does not resize the image, and the cursor is a magnifying glass containing a ‘+’ or a ‘-‘, indicating that clicking will expand or shrink the image to fit the window.

In ‘fit-to-window’ mode, resizing the window always resizes the image, and the cursor is a magnifying glass containing an ‘=’, indicating that clicking will return the image to its natural size.

There is an option to enable/disable fit-to-window scaling for all images.

There is an option to apply fit-to-window scaling when an image is loaded.

SUBSITES

Subsites can be defined to make the application of Per-Site zoom more specific.

A subsite can be defined for any 'https:', 'http:' or 'file:' page and will contain the page and/or some of its descendant pages, depending on the subsite type:

                                Example with Subsite Type > 3

Import    Subsite
 Value        Type

      1              *                                                     0        Page where subsite defined
                                                                                                   (subsite root)
      2              >                                                 1  1  1

      3              > 1                                         2  2  2  2  2

      4              > 2                                     3  3  3  3  3  3  3
                                                         /----------------------
      5              > 3                           /   4  4  4  4  4  4  4  4  4          Subsite
                                                     /                                                
      6              > 4                       /   5  5  5  5  5  5  5  5  5  5  5            Includes all
                                                 /                                                                 descendants
      7              > 5                    /  6  6  6  6  6  6  6  6  6  6  6  6  6           except first
                                             /                                                                         3 levels
      8              > 6               /     7  7  7  7  7  7  7  7  7  7  7  7  7  7  7             (1,2,3)
                                         /                                    .                                    
                                       /                                      .                                      
                                     /                                        .                                        
                                   /-----------------------------------------------

In order to define subsites and to apply per-subsite zoom:

• the 'Zoom Mode' must be set to 'Per-Site'.
• the 'Let browser manage per-site full zoom' option must be disabled.
• the 'Allow definition of subsites and per-subsite zoom' option must be enabled.

To define a subsite, navigate to the web page corresponding to the subsite root, click on the toolbar button to show the popup panel, then click on the three vertical dots on the left side of the popup panel to show the two subsite buttons, and then click on the lower button to set the subsite type.

It is possible to define a subsite for a URL path that does not have a corresponding web page by importing a user-created '.json' file. The following file would define a subsite of type "> 2" (import value 4) for a section of a website below "www.somewebsite.com/aaaa/bbbb/cccc" :

{
    "persitezoomtypes": { },
    "persitezoomlevels": { },
    "persitefontsizes": { },
    "subsitetypes": { "www.somewebsite.com/aaaa/bbbb/cccc": 4 }
}

EXPORT/IMPORT PER-SITE DATA

Zoom Page WE maintains a small amount data for each website visited. This Per-Site Data comprises zoom types, zoom levels, minimum font sizes and subsite types.

There are buttons in the options dialog to:

• export all of the current per-site data to a '.json' file.
• import previously exported (or user-created) per-site data from a '.json' file.
• clear all of the current per-site data.

IGNORE BROWSER CHANGES

There is an option to ignore full zoom changes made by the browser, whether these changes are made automatically or manually (for example, using the browser's zoom level controls). This option can be useful in rare situations where zoom levels are not being applied correctlty, but normally this option should be disabled.

SUPPORT

Please e-mail: dw-dev@gmx.com

LICENSE

Distributed under the GNU General Public License version 2.
See LICENCE.txt file and http://www.gnu.org/licenses/

Install
Zoom Page WE - toolbar button popup Zoom Page WE - popup zoom menu Zoom Page WE - toolbar button menu Zoom Page WE - context menu sub-menu Zoom Page WE - options page