đŸ Archived View for tilde.pink âș ~ssb22 âș mac.gmi captured on 2022-03-01 at 15:25:04. Gemini links have been rewritten to link to archived content
âĄïž Next capture (2022-04-28)
-=-=-=-=-=-=-
OS X and macOS have built-in magnification:
Here is my rhyme for remembering the keyboard shortcuts:
The Mac does not from Windows lift
these keys, so you should not press *Shift*.
But press Control, Command and Alt,
These three, with 8, a glare can halt.
And if the zoom be lacking whole,
then press these keys without Control.
For plus and minus take the same
as 8: the Alt and Option twain.
If you set Minimum Zoom to 1 (the extreme left of the slider), and Maximum Zoom to your preferred level (e.g. 2), that will allow you to switch between 1 and 2 with a single keypress.âYou can still zoom further by holding down the keys, but itâs useful to be able to quickly get to a preferred integer level.â
When macOSÂ 11 is running on a laptop thatâs connected to an external display, it defaults to a dual-screen setup that interacts rather badly with zoom: the *magnified* image is divided over *both* screens, cannot be panned left or right unless you drag the mouse to the edge of the *corresponding* screen, and tends to split windows down the middle in a way that doesnât work very well when the screens are different physical sizes.â
The Accessibility Zoom âChoose Displayâ setting gives you the option of showing the zoomed image on the external display while showing the un-zoomed image on the laptop.âHowever, I do *not* recommend this because:
1. it causes the display-invert option to invert only the *un*-zoomed version (although at least macOSÂ 11+ has a âdarkâ theme under System Preferences / General, but not all applications make this work as well as display inversion),
2. in macOS 12 it activates a âbugâ that causes image âsmoothingâ (i.e. blurring) to be turned on regardless of the value of its checkbox,
3. it does not persist across a screen lock (so it encourages you to disable the lock, which might not be the best idea depending where you work), although settings are more likely to persist across logout or restart,
4. it does not persist across a temporary loss of power to the external monitor,
5. and it can cause a Mac kernel crash on resume from suspend, thus encouraging you to turn off energy saving, which has climate-change consequences.
Instead, you can first set âChoose Displayâ to âallâ (the default), then go to System Preferences / Displays (not to be confused with âDisplayâ under Accessibility), Display Settings, and set âUse asâ to âmirrorâ, âoptimise forâ to internal (the drop-down might become mislabeled after this change), and resolution âscaledâ for âlarger textâ. You can then zoom and/or invert and see the resulting image on both displays.â
Using a âmirrorâ display has the side-effect of muting all notifications on macOSÂ 12, unless a box is ticked to âallow notifications when mirroring or sharing the displayâ in System Preferences / Notifications.âThe location of this box is likely to be behind the Dock if youâre using âscaled for larger textâ, so youâre not likely to notice itâs there unless you hide the Dock (and there doesnât seem to be a keyboard shortcut)âtoo bad their interface designers had not invented some means of scrolling large dialogues.
If you close the lid of the laptop, macOS reverts to zooming a single external display, and you typically have to *re-do* all the settings, and again when you re-open the lid.âItâs worse if youâve used âChoose Displayâ and were zoomed in at the time the lid is openedâthis can put the Macâs graphics subsystem in an inconsistent state (e.g. desktop vertically repeated) and youâll have to zoom out before it lets you change the settings back.âUnfortunately I have not found a way to restore preferred zoom settings from a command-line script: it requires painful small-print mouse work every time.âTherefore you should probably leave the laptop open at all times if you need to use its internal camera.â
It appears that the zoomed image is processed as follows:
1. Text is anti-aliased onto a non-zoomed screen buffer
2. The pixels are then mapped onto the larger zoomed buffer (which degrades quality if the zoom factor is not an integer)
3. An additional âsmoothingâ step is optionally applied to the new image (I donât know if this step has knowledge of the original pixels, but it doesnât seem to have any knowledge of the original fonts).â
The above steps acting in combination can blur the result.âSo my suggested settings are:
Where possible, turn off antialiasing altogether:
In the zoom optionsâ screen movement section, I usually find the option called âSo the pointer is at or near the center of the imageâ works better than the other two, *unless* you are working with tooltips, in which case set the mouse âtracking speedâ (acceleration) fast so you can use the âwhen the pointer reaches an edgeâ setting for more control.â
Ideally it would be possible to reduce the desktopâs overall height and width to about 1.6 to 1.8 times that of the magnified area, to reduce the chances of âgetting lostâ. This is possible on non-Mac systems with old-style X11 setups but does not seem to be available on the Mac without reducing the magnification factor to a non-integer.â
If you do have to reduce the magnification factor to less than 2 and the resulting text is too small, then you might be able to make up the size by also using a lower-resolution display mode.âIn 10.x modes can be set under System Preferences / Display; in 11.x use System Preferences / Displays / Scaled / Larger text.â(Some third-party applications are not tested with this setting and might display windows larger than the screen.)â
On OS X 10.5+ you can enable a keyboard shortcut to speak selected text (defaults to Alt-Escape; press a second time to stop).âThis needs to be switched on in the text-to-speech preferences (in 11.x itâs Accessibility / Spoken Content / Speak selection).â
In 10.8, you need to take two additional steps to work around a bug: (1) change the keyboard shortcut (if you like the default, change it back again), (2) press âPlayâ to hear the voiceâs demo.âThe shortcut key will then work.â(These additional steps were not needed in 10.5 through 10.7.)
The shortcut works in most native Mac applications, including Terminal, but not iTerm 1 or (some versions of?)âChrome.
Here is a script to change the voice from the command line (useful if you work in several languages).
script to change the voice from the command line
script to make the Mac more GNU/Linux-like
The script can be added to, or sourced from, your ~/.zshrc on 10.15+, or your ~/.bashrc and ~/.bash_profile on earlier versions (itâs written in a common subset of bash and zsh).â
You may also want my Emacs configuration.â
[Historical interest only: please do not use old versions of Safari on untrusted websites.âIt doesnât work with modern versions of HTTPS anyway.]
The âReaderâ feature of Safari 5.0, 5.1 and 6.0 doesnât work well with zoom because it uses a fixed-width layout which can easily be too wide for the zoomed viewport; this was fixed in 6.1 but if youâre stuck with an old version you can try this reader narrowing script (requires administrator access to the machine) which also allows you to change the colours.
Safari 6.1âs Reader fixed the width issue but doesnât allow colour changing (unless you invert the whole display in Universal Access); it doesnât respond to my stylesheets for low vision or to the above script.â
OS X has included VNC âscreen sharingâ since 10.4, but 10.7 introduced a feature that can make it hard for non-Mac VNC clients if your desktop size is not 1280x1024.â
One solution is to use an alternative VNC server, such as Vine (OSXVnc) which can be set to serve just one user session (can run on login with automatic login).âNotes:
Fundamentally itâs still best to use a Mac desktop by connecting the display directly to the machine.
All material © Silas S. Brown unless otherwise stated. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Mac is a trademark of Apple Inc. Safari is a registered trademark of Apple Inc. VNC is a registered trademark of RealVNC Limited. Windows is a registered trademark of Microsoft Corp. Zoom is a trademark of Zoom Video Communications, Inc. Any other trademarks I mentioned without realising are trademarks of their respective holders.