EN

Kumquat для macOS: конвертер файлов на жесте Shift без разрешения Accessibility

Опубликовано: 2026-10-27 · Автор: AI Release · @ai_release1 · Apple · Релиз / Официально
Kumquat для macOS: конвертер файлов на жесте Shift без разрешения Accessibility

⚡ Главное за 5 секунд

🔍 Что случилось

Автор под ником TheAlexRay (kipperstudio) выложил на Хабре разбор своего приложения Kumquat — конвертера файлов для macOS с открытым кодом по лицензии MIT. Статья вышла в разделе «Из песочницы»: Хабр. Набор действий прикладной: «в JPG», «сжать до 2 МБ», «распознать текст», «склеить в PDF» — результат сохраняется рядом с оригиналом, сам оригинал не меняется.

Источник: Хабр

Жест такой: начинаете тащить файлы из Finder, с рабочего стола или из почты, не отпуская кнопку мыши коротко нажимаете Shift. Под курсором раскрывается радиальное колесо, задержка на категории открывает её, задержка на центре возвращает назад, бросок на лепесток запускает действие. Колесо показывает только то, что подходит всем перетаскиваемым файлам сразу: тащите HEIC и MOV вместе — пункта «в MP3» не будет.

Самое интересное — как пойман жест. Вместо глобального CGEventTap или NSEvent.addGlobalMonitorForEvents, которым нужен Accessibility или Input Monitoring, автор опрашивает публичное состояние системы: NSEvent.pressedMouseButtons, NSEvent.modifierFlags и NSPasteboard(name:.drag). Таймер тикает раз в 120 мс при отпущенной кнопке и переходит на 60 Гц, как только кнопку нажали. Ядро — DragGestureMonitor.swift, ключевая строка оттуда: let mouseDown = NSEvent.pressedMouseButtons & 1!= 0. Внутри же всплывает, что ffmpeg и девять кодеков пришлось собирать из исходников, а большую часть кода написал Claude под руководством автора.

🧠 Наш разбор

За новостью стоит бытовая боль: снимок с iPhone надо перегнать в формат, который понимает сайт, запись экрана — ужать под лимит почты, скриншот с ошибкой — распознать. Каждый раз это либо платный «комбайн», либо веб-сервис, куда вы грузите личные файлы. Локальная утилита в строке меню — логичный ответ, и то, что её собрал один человек с ИИ-ассистентом, здесь скорее фон, чем суть.

Наша оценка: главный вклад Kumquat в экосистему — не конвертер, а permission-free детект перетаскивания. Приложения, которым нужен Accessibility, получают доступ ко всем нажатиям клавиш в чужих окнах, и пользователь физически не может проверить, что ещё они слушают. Опрос pressedMouseButtons и drag-паддинга даёт узкий срез состояния. Цена — постоянный таймер, и вот тут начинается спор про батарею.

Мы считаем, что выигрывают пользователи Mac с личными файлами, а проигрывают веб-конвертеры и подписочные пакеты утилит. Но Apple Silicon-only отсекает Intel-Маки, а про подпись и нотаризацию в поводе ни слова — для утилиты, которая трогает личные документы, это не мелочь.

⚠️ Чего мы не знаем

Цифр нет: автор обещает рассказать, насколько VideoToolbox быстрее libx264, но конкретных замеров в поводе не приводится. Не сказано, чем сделан OCR, как подписано и нотаризовано приложение, сколько энергии ест опрос на 60 Гц и как колесо ведёт себя в приложениях с песочницей. Источник один — статья автора о собственном проекте, независимых тестов нет. Про ошибки Claude есть отдельный раздел, который мы не читали, так что на слово верить не стоит: проверять стоит самому на своих файлах.

💬 О чём спорить

  • Опрос состояния на 60 Гц вместо разрешения Accessibility: честный компромисс или тот же фоновый мониторинг, только сбоку и без спроса?
  • «Большую часть кода написал Claude» — как это меняет доверие к open-source-утилите, которая получает доступ к личным документам и фото?
  • Радиальное колесо под курсором против контекстного меню и Shortcuts: жест, который стоит встроить в macOS, или трюк, который забудешь через неделю?

Прогноз: в течение квартала появится минимум один форк или аналог с тем же permission-free детектом drag — техника описана публично, лицензия MIT, кода там на сотню строк. Если форков не будет, значит подход плохо переносится за пределы этой задачи.

Дисклеймер: один источник — статья автора о своём проекте, официально ничего не подтверждено.

Источник: Хабр

🤖 Кратко для ИИ
#macOS#open#Swift#конвертация#AI#нейросети#Apple#MachineLearning
← ПредыдущаяMCP-сервер для Wordstat: ИИ сам проверит частотность запросов

Источник: habr.com · пост в Telegram