ramas
Solutions

Solution · Live

ClipHistory — менеджер буфера обмена для macOS

своя минимальная замена PasteNow под macOS: история буфера по ⌘⇧V, быстрая вставка «зажал-пролистал-отпустил», текст и картинки, ноль зависимостей. Давно искал такое на Mac — сделал сам. Пишите в личку, пришлю бесплатно.

  • macos
  • clipboard-manager
  • swift
  • productivity
  • utility
  • free

TL;DR. Собственная замена PasteNow под macOS — минимальный менеджер буфера обмена: история по ⌘⇧V, быстрая вставка «зажал-пролистал-отпустил» по ⌘⇧X/⌘⇧C, текст и картинки, ноль сторонних зависимостей. Такую утилиту давно искал на Mac и не находил — сделал сам. Нужна такая же? Пишите в личку, пришлю бесплатно. → Написать в Telegram

Почему сделал

На Windows менеджеров буфера обмена — вагон, любой на выбор, бесплатно. На Mac с этим всегда было плохо: либо платная подписка, либо сырые поделки. Пользовался взломанной версией PasteNow — и она просто перестала запускаться на свежей macOS. Чинить крякнутый софт смысла не было. Написал свой, под ровно те функции, которыми реально пользуюсь.

Что умеет

  • ⌘⇧V — окно истории буфера: стрелки / Enter / клик / цифры 1–9 / Esc, кнопка-булавка, чтобы закрепить нужный элемент, перетаскивание мышью, окно запоминает свою позицию.
  • ⌘⇧X / ⌘⇧C — быстрая вставка: зажал ⌘⇧, тапаешь X или C и листаешь кандидатов, отпустил — вставилось. Работает как ⌘-Tab, только для буфера, с HUD-плашкой поверх экрана. Годится и для картинок, не только текста.
  • История хранит и текст, и картинки, с автоочисткой — 100 элементов или 50 МБ, что наступит раньше. Пароли из менеджеров паролей в историю не попадают.

Как сделано

Swift + SwiftUI + AppKit + Carbon (перехват клавиш через RegisterEventHotKey и CGEventTap), ноль сторонних зависимостей, около 700 строк. Хранилище — обычный JSON, никакой CoreData. Собрано и подписано под конкретную машину нормальным сертификатом — доступ Accessibility переживает пересборки, не слетает каждый раз заново.

Пара честных тех-уроков (по-человечески)

Перехвату клавиш хватает разрешения Accessibility — «Мониторинг ввода» тут не нужен, хотя выглядит логичным кандидатом. На проверке этой ложной версии ушли часы.

Второй урок дороже. Обработчик перехвата обязан отвечать мгновенно: если засунуть в него что-то тяжёлое (например, синхронный показ окна) — macOS решает, что тап завис, и молча его отключает. После этого перехватываемые клавиши начинают «протекать» напрямую в активное приложение. Лечится тем, что вся тяжёлая работа уезжает в async, а колбэк только принимает решение и сразу возвращает управление.

Как забрать

В App Store такое не пройдёт — песочница убивает перехват клавиш, а без него нет ни ⌘⇧X/C, ни автовставки. Поэтому только прямая сборка.

Нужен — напишите в личку @Sergeyramas, пришлю бесплатно.

Связь · кратко и по делу

Понравилось — забирай в Telegram. Хочешь увидеть всё сразу — на главную.