Столкнулся с проблемой. Punto Switcher версии 2.1.2 после выхода из ждущего режима macOS Catalina выгружается из памяти. Приходится запускать его заново или страдать от необходимости постоянно стирать и перенабирать текст, набранный не в той раскладке. Проблема лечится.
Открываем системные настройки → Пользователи и группы → Объекты входа
Убираем из объектов входа Punto Switcher.
Открываем текстовый редактор и создаём файл со следующим содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>user.launchkeep.puntoswitcher</string>
<key>KeepAlive</key>
<true/>
<key>Program</key>
<string>/Applications/PuntoSwitcher.app/Contents/MacOS/PuntoSwitcher</string>
</dict>
</plist>
Сохраняем файл с именем user.launchkeep.puntoswitcher.plist
Кладём файл в Библиотеки → LaunchAgents (Понадобится ввод админского пароля)
Завершаем сеанс на маке и авторизуемся заново. Проблема решена.
Если вам понадобится зачем-то выгрузить Punto Switcher, воспользуйтесь консольной командой:
launchctl remove user.launchkeep.puntoswitcher
Таким образом вы можете запретить выгрузку любого другого приложения, поменяв имя файла и параметры внутри xml-ки.