Vladyslav Didyk

KeySticker — Панель скорочень для macOS

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

KeySticker — Панель скорочень для macOS

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
Головна сторінка — попередній перегляд панелі поруч із клавіатурою, на яку справді можна натискати.
Головна сторінка — попередній перегляд панелі поруч із клавіатурою, на яку справді можна натискати.
Контекстна обізнаність — панель помічає, який застосунок попереду, і миттєво змінює свій вміст.
Контекстна обізнаність — панель помічає, який застосунок попереду, і миттєво змінює свій вміст.
Ваші власні скорочення — відкривайте застосунки, запускайте посилання, виконуйте Apple Shortcuts чи тримайте особисту нотатку за однією гарячою клавішею.
Ваші власні скорочення — відкривайте застосунки, запускайте посилання, виконуйте Apple Shortcuts чи тримайте особисту нотатку за однією гарячою клавішею.

Суть

Плавуча панель, що пам'ятає скорочення, яке ви забули.

Проблема.

Кожен серйозний застосунок для 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 — Інтелект надр