# [OS X TeX] toolbar

Robert Bruner robert.bruner at wayne.edu
Mon Jun 22 10:36:12 EDT 2020

Richard,

yet I failed to notice either your signature or my mail reader's clues.   My
thoughts remain the same despite their having been misdirected.

Bob Bruner

________________________________________
From: MacOSX-TeX <macosx-tex-bounces at email.esm.psu.edu> on behalf of Richard Koch <koch at math.uoregon.edu>
Sent: Sunday, June 21, 2020 3:18 PM
To: TeX on Mac OS X
Subject: Re: [OS X TeX] toolbar

Robert,

I was sitting peacefully in my covid-self-isolation home. Then I read your rant, and I am rushing out into the world, sword in hand!

On Jun 21, 2020, at 10:45 AM, Robert Bruner <robert.bruner at wayne.edu<mailto:robert.bruner at wayne.edu>> wrote:

\begin{rant}

This is an interesting philosophical issue on which I am completely at odds with the software culture.   The version of TeXShop that I have does everything I need.    I am not interested in spending time reconfiguring things and learning new ways to do the same things I already know how to do.    I would rather do mathematics than fine tune my computer's software.

But, I have no choice:  if I don't constantly update things I get hit by issues like this.

In mathematics, once something is proved, it is proved and we can move on to new issues.    Of course, we return to issues and refine our understanding, clean up proofs, find new and better axioms, etc., but the pace is slower, and the old proofs are still valid if they ever were.

Recall that you have a strong ally. Knuth froze TeX, MetaFont, and the Computer Modern Fonts in 1991, announcing that stability was more important than new features.

In some sense, I am an ally as well. Version 4.44 was released last October, and I haven't worked on the program since then. I've been using it to write a set of mathematical notes. If you looked over my shoulder, you'd see that I ignore many TeXShop features. I use the original two window mode and never place source and preview in a single window. I don't use Key Bindings or Command Completion. I don't want the program to ever do anything I didn't ask it to do. Colleagues who watch me are astonished. I'm proud that the original version of TeXShop, released in 2000 before macOS even reached version one, compiled fine on 64-bit Intel and required only two insignificant changes to still work.

But.

Tomorrow is the start of WWDC, and Apple will release a beta version of the next macOS. I'll immediately return to working on the program, because these betas almost always break some feature in TeXShop. In most cases, this is because I didn't use a feature quite correctly but got away with it for a year or two. In Catalina, for example, tools started vanishing from the toolbar. This is probably the bug you ran into. The reason that happened is that I used the same tool in more than one toolbar. For example, the source window had a Typeset button, but then I also added a Typeset button to the preview window for users who used an external editor. Then I added a Typeset button to the single-window version with source and preview in the same window. But in Catalina, reusing the same button in three different places isn't legal. It probably was never legal, but for a while it worked anyway.

The magnifying glass is another example. For many years it broke with every new version of macOS. I attended WWDC during one of these years, and I immediately discovered that a command which used to work for the glass failed. The next day I managed to talk to the guy who write PDFKit. I complained about the broken command, and it turned out he didn't even know it was in the API. But he told me of a much, much better way to do magnifying glasses. Why should he be expected to fix the old way when a better way to do it existed? (The author of PDFKit was very easy to talk to.)

It is important to update programs each year, because otherwise they become more and more out of date, and then suddenly they stop working and it is a massive job to update at that point. For example, I updated TeXShop from 32 bits to 64 bits about a year after Apple introduced that feature. For a while, there was little gain. Then one year Apple dropped support for 32 bit apps. Gulp.

Another example: in old Cocoa apps, memory management was a real pain. Then Apple introduced ARC (automatic reference counting), which handled most memory management automatically. I spent several months converting TeXShop to arc, one file at a time. It was painful. But after that, stability in the program improved dramatically.

Here's my favorite example. In Lion, Apple introduced automatic saving.'' Users no longer had to save the program before quitting TeXShop, or really any other time. The system automatically saved it every few minutes. I would never write such code myself. But because the program was up to date, I was able to adopt the change with one single line of code.

Is the change important? Several years ago, I got a call from a faculty member at midnight. He was typing the final exam in real analysis, to be given the next morning at 8:00 AM. But because of an accident, his source file suddenly still existed, but was empty. Could the text be recovered? I asked if he used the Lion version. No. He had to retype the entire exam.

Two other examples and I am done. In Catalina, Apple introduced notarizing applications, and running with a hardened runtime. Notarization means that the code has been sent to Apple, who scanned it for viruses, and then signed it. TeXShop immediately adopted this feature. Other programs did not, so when you install them, you get a dialog saying that the author is unknown to Apple and the program should be placed in the trash.

When Apple introduced Dark Mode, a few features of TeXShop used it, but most did not. The editor and the source still used glaring white backgrounds. Now TeXShop has a much better set of preferences for handling color and Dark Mode works.

Thanks, Robert, for writing the rant. I actually enjoyed it. I was getting lethargic and needed a wakeup. I hope you will find that TeXShop basically works as it always does, because the whole point of the program is that mathematicians should spend their time writing mathematics rather than fiddling with an editor.

Richard Koch