KeySticker — Панель скорочень для macOS
Плавуча панель для Mac, що показує скорочення того застосунку, яким ви користуєтеся — одинадцятьма мовами.

KeySticker — невелика утиліта для Mac: одна гаряча клавіша відкриває плаваючу панель із клавіатурними скороченнями застосунку, що перед вами. Я сам проєктую і розробляю її з 2024 року.
KeySticker — це утиліта для Mac, що пам'ятає скорочення, щоб вам цього не доводилося. Натисніть одну гарячу клавішу — і з'явиться плавуча скляна панель зі скороченнями того застосунку, яким ви користуєтеся: перемкніться на Figma — і вона покаже Figma. Вона постачається приблизно з 2 790 скороченнями для 75 застосунків, говорить одинадцятьма мовами й створена без жодної сторонньої бібліотеки коду.
- Роль
- Самостійно — дизайн і код
- Терміни
- 2024 — триває
- Стек
- Swift 5.9 · AppKit (lifecycle) · SwiftUI (UI) · Carbon (hotkeys) · Combine · Supabase PostgREST · XcodeGen · Fastlane · XCTest · MetricKit



Суть
Плавуча панель, що пам'ятає скорочення, яке ви забули.
Проблема.
Кожен серйозний застосунок для Mac має сотню клавіатурних скорочень. Сотню не пам'ятає ніхто. Обидва ваші варіанти — порпатися в меню чи перемкнутися на сайт-шпаргалку — руйнують те, що ви робили. Довідник корисний лише тоді, коли він уже на екрані.
Продукт.
KeySticker — це плавуча панель, що показує скорочення того застосунку, яким ви користуєтеся просто зараз. Перемкнетеся на Xcode — отримаєте Xcode. Перемкнетеся на Figma — отримаєте Figma. Одна гаряча клавіша показує чи ховає її, клік на будь-якому рядку копіює його, а ще все можна шукати за назвою — 75 застосунків і приблизно 2 790 скорочень вбудовано, з місцем для більшого.
Нативно, навмисно
Чисто технології Apple, нуль сторонніх бібліотек.
Зібрано класичним способом.
Застосунок написано цілком власними інструментами Apple — жодного рядка стороннього коду. Це навмисно: сторонні бібліотеки схильні ламатися, коли оновлюється система, а власні частини Apple — ні. Навіть з'єднання з хмарою — це звичайна системна мережа.
Скляна панель, шар за шаром.
- Справжнє системне розмиття — Ефект матового скла — це власний матеріал системи, а не картинка з розмиттям.
- М'який темний відтінок — Делікатний темний шар лягає поверх розмиття, тож текст залишається читабельним на будь-якому фоні.
- По-справжньому прозоро — Невеликий власний шар прибирає кожен суцільний фон, який інтерфейс намагається додати, тож скло прозирає чисто.
- Ніколи не краде ваш фокус — Панель плаває над вашою роботою, слідує за вами між робочими столами — і ніколи не забирає клавіатуру в застосунку, яким ви користуєтеся.
Вміст
Три джерела скорочень, одна полиця.
Скорочення — це дані, а не код.
Застосунку байдуже, звідки взялося скорочення. Він постачається з вбудованою базою приблизно з 2 790 записів, може у фоні оновлюватися з хмари й приймає набори скорочень, які ви імпортуєте самі. Усі три джерела потрапляють на одну полицю.
Спершу офлайн, у чотири кроки.
- Миттєвий старт — Застосунок відкривається на власній вбудованій базі. Інтернет на першому запуску не потрібен.
- Читання збереженої копії — Якщо попереднє хмарне оновлення було збережено на диску, воно завантажується наступним.
- Тихе оновлення — У фоні застосунок перевіряє хмару на нові скорочення й зберігає їх. Якщо не вдається — нічого не ламається: поточні дані залишаються.
- Ваші власні набори — Імпортовані файли скорочень надійно запам'ятовуються між запусками — так, як того вимагає пісочниця безпеки Mac.
Контекст
Панель знає, у якому застосунку ви перебуваєте.
Вона стежить за переднім застосунком.
Крихітний спостерігач помічає щоразу, коли ви перемикаєте застосунки, шукає скорочення цього застосунку й перемальовує панель на місці — без спалаху, без перезавантаження. Перехід з Xcode на Figma просто замінює вміст.
Справжні іконки застосунків.
Кожна категорія показує справжню іконку застосунку, якщо його встановлено на вашому Mac, з охайним запасним символом, коли його немає.
Ваші скорочення
Створюйте власні — нотатки чи справжні гарячі клавіші.
Два види власних скорочень.
Кнопка «+» відкриває невеликий редактор. Власне скорочення може бути карткою-нагадуванням — просто чимось, що ви хочете запам'ятати — або справжньою системною гарячою клавішею, що робить щось тієї ж миті, коли ви її натискаєте.
Чотири дії, усі безпечні для App Store.
- Відкрити застосунок — Одна комбінація клавіш запускає будь-який обраний вами застосунок.
- Відкрити посилання — Запускає ваш браузер за замовчуванням зі збереженою адресою.
- Запустити Apple Shortcut — Будь-яку автоматизацію, створену вами в застосунку Apple Shortcuts, запущену однією гарячою клавішею.
- Скопіювати текст — Кладе ваш збережений текст у буфер обміну, готовий до вставлення будь-де.
Одна ретельна деталь.
Гарячі клавіші реєструються в системі Mac глобально, тож вони працюють у будь-якому застосунку. І застосунок ввічливо не дозволить вам забрати ту єдину комбінацію, яка потрібна йому самому — ту, що відкриває панель.
Одинадцять мов
Перекладено, віддзеркалено й перемикається на льоту.
Жодного жорстко вписаного тексту.
Кожен напис у застосунку походить із каталогу перекладів, що охоплює одинадцять мов — зокрема арабську, іврит та урду, які автоматично віддзеркалюють увесь макет справа наліво. Зміна мови оновлює застосунок миттєво, без перезапуску.
Що залишається незмінним.
Символи клавіш (⌘ ⇧ ⌥ ⌃) та назви застосунків на кшталт Finder, Safari та Xcode залишаються англійською в кожній мові — бо саме так їх постачає Apple.
Збірка
Один файл описує весь проєкт.
Одне джерело правди.
Уся конфігурація збірки — номери версій, дані підпису, кожна частина проєкту — живе в одному файлі налаштувань. Кожен інструмент у конвеєрі читає з того самого файлу. Зміни його раз — і все нижче за течією підхопить зміни.
Поставка
Протестовано, підписано й відправлено одним git-тегом.
Від пуша до App Store.
- 85+ автоматичних тестів — Логіку покрито тестами з чистими, взаємозамінними частинами — тож зміна не може тихо зламати функцію.
- Справжні прогони UI-тестів — Скриптовані прогони відкривають застосунок, показують панель, шукають і навіть вимірюють, як швидко він запускається.
- Вбудовані звіти про стан — Збої й уповільнення в реальних користувачів автоматично з'являються в панелі розробника Apple.
- Релізи одним тегом — Запуште тег версії — і конвеєр сам збирає, підписує, нотаризує й завантажує до App Store.
Наступний проєкт: DepoDart — Інтелект надр