Современный менеджер буфера обмена для Linux (GTK4 + Libadwaita): история текста и изображений, трей, хоткеи, бэкапы и локализация.
ClipKeeper делает буфер обмена удобным для повседневной работы:
- быстро открыть/скрыть окно истории
- найти и повторно использовать старые элементы
- закреплять важное, собирать сниппеты, отмечать избранное
- хранить данные локально и делать резервные копии
| Платформа | Статус | Примечание |
|---|---|---|
| Linux + GNOME (Wayland) | Поддерживается | Рекомендуемая среда, глобальный хоткей через gsettings. |
| Linux + GNOME (X11) | Поддерживается | Работает стабильно, позиционирование окна зависит от WM. |
| Linux + Hyprland (Wayland) | Поддерживается | Хоткей через ~/.config/hypr/clipkeeper.conf. |
| Linux + KDE (Wayland/X11) | Частично | Приложение работает, авто-настройка хоткея пока без KDE backend. |
| Другие DE/WM | Частично | База работает, хоткей обычно нужно назначать вручную. |
| Windows / macOS | Не поддерживается | Проект Linux-only. |
- Мониторинг буфера: текст и изображения
- Поиск и фильтры по категориям
- Избранное, закреплённые элементы, сниппеты
- Маскирование чувствительных данных
- Превью и действия по элементам (редактирование/перевод/QR и др.)
- Редактор изображений (обрезка/blur)
- Импорт/экспорт JSON (включая изображения)
- Ограничение размера истории с автоочисткой
- Автобэкап истории с ротацией
- Управление через системный трей
- Локализация интерфейса (
ru,en) - Глобальная горячая клавиша из настроек (GNOME + Hyprland)
- На Wayland композитор может ограничивать точное позиционирование popup-окна.
- Поведение трея зависит от поддержки AppIndicator в конкретной среде.
- Автоприменение хоткея пока реализовано только для:
- GNOME (
gsettings) - Hyprland (
clipkeeper.conf+source)
- GNOME (
- Для KDE и некоторых WM хоткей лучше назначать вручную на команду
clipkeeper --toggle. - OCR и QR — опциональные возможности, зависят от дополнительных пакетов.
bash install.shЧто делает инсталлятор:
- ставит зависимости (для
apt-систем) - создает команду
~/.local/bin/clipkeeper - ставит desktop entry и автозапуск
- устанавливает иконку
- пытается назначить хоткей по умолчанию (
Super+C)
Установка без зависимостей:
bash install.sh --skip-depscurl -fsSL https://raw.githubusercontent.com/IAmFuckingGenius/ClipKeeper/main/bootstrap-install.sh | \
bash -s -- --repo IAmFuckingGenius/ClipKeeper --ref mainДля установки без зависимостей:
curl -fsSL https://raw.githubusercontent.com/IAmFuckingGenius/ClipKeeper/main/bootstrap-install.sh | \
bash -s -- --repo IAmFuckingGenius/ClipKeeper --ref main --skip-depsclipkeeperCLI-команды:
clipkeeper --showclipkeeper --toggleclipkeeper --daemonclipkeeper --quitclipkeeper --set-hotkey "Super+C"
Назначь вручную в настройках DE на команду:
clipkeeper --toggle- База:
~/.local/share/clipkeeper/history.db - Изображения:
~/.local/share/clipkeeper/images - Бэкапы:
~/.local/share/clipkeeper/backups - Команда запуска:
~/.local/bin/clipkeeper
src/main.py— точка входа и CLIsrc/application.py— lifecycle приложенияsrc/window.py— основное окноsrc/settings.py— окно настроекsrc/monitor.py— монитор буфера обменаsrc/database.py— БД, миграции, импорт/экспорт, бэкапыsrc/tray.py— интеграция с треемsrc/hotkeys.py— backends горячих клавиш (GNOME/Hyprland)src/i18n.py— локализацияdata/style.css— стили интерфейсаdata/locales/*.json— переводы
Привязка к репозиторию:
git remote add origin https://github.com/IAmFuckingGenius/ClipKeeper.gitgit push -u origin main
Релиз (пример v1.0.0):
git tag -a v1.0.0 -m "ClipKeeper v1.0.0"git push origin v1.0.0- Создать Release в GitHub UI по тегу
v1.0.0
В проект уже добавлены файлы для репозитория:
.gitignore.gitattributes.editorconfigCONTRIBUTING.md
Быстрая проверка Python-файлов:
python3 -m py_compile src/*.pyГайд по контрибьюту: CONTRIBUTING.md
- Нативный backend хоткеев для KDE
- Улучшение логики позиционирования окна на Wayland
- Автотесты для импорт/экспорт и хоткей-backends
- Опциональный защищенный режим экспорта