Color Manager Ваш персональный дизайнер для Linux-тем

15 Nov, 2024

Репозиторий давно не обновлялся

Последнее обновление было 1 год назад.

590
🔱 9
👥 5

Когда в последний раз вы хотели изменить цветовую схему своей системы, но не находили подходящего набора иконок? Или мечтали о едином стиле для всех элементов интерфейса? Color Manager решает эти проблемы, предлагая гибкий инструмент для перекрашивания графики с точностью до пикселя.

Что это за инструмент?

Color Manager — это Python-библиотека с GUI-интерфейсом, которая позволяет:

  • Менять цветовые схемы иконок, тем и обоев
  • Добавлять фоны к иконкам с настраиваемыми параметрами
  • Извлекать палитры цветов из изображений
  • Работать с SVG, PNG, JPG и CSS-файлами

Проект изначально создавался для NovaOS, но работает на любой системе с Python.

5 причин попробовать Color Manager

  1. Молниеносное перекрашивание

    • До 5000 SVG-файлов в секунду при монохромном перекрашивании
    • Поддержка пакетной обработки целых наборов иконок
  2. Гибкие методы работы с цветом

    Реклама
    • Монохромное перекрашивание (один базовый цвет)
    • Палитры (подбор ближайших цветов из заданного набора)
    • Точечное переназначение цветов через mapping
  3. Красивые фоны для иконок

    utils.add_backdrop(src, dest, name, color="#000000", padding=2, rounding=0.5)
    

    Примеры фонов

  4. Работа с темами оформления

    • Поддержка GTK, Cinnamon, Gnome-shell и Metacity тем
    • Примеры преобразований: Примеры тем
  5. Два интерфейса на выбор

    • Командный (для интеграции в скрипты)
    • Графический (GTK-based) для визуальной работы

Как это работает технически?

Основные технологические решения:

  • Использует basic_colormath для быстрых цветовых преобразований
  • Pillow для работы с растровой графикой
  • PyGObject для GTK-интерфейса
  • Поддерживает все популярные графические форматы

Скорость работы впечатляет: | Тип операции | SVG/с | PNG/с | |-------------|-------|-------| | Монохромное | 5000 | 500 | | По палитре | 100 | 3 | | Color mapping | 1000 | 10 |

Практические кейсы использования

  1. Создание собственной темы

    • Возьмите стандартный набор иконок Papirus
    • Перекрасьте в цвета вашего бренда
    • Добавьте фоны с закругленными углами
  2. Адаптация тем под время суток

    # Автоматическое осветление темы днем
    if is_daytime():
        utils.recolor(theme_path, output, "day_theme", "#f5f5f5")
    else:
        utils.recolor(theme_path, output, "night_theme", "#333333")
    
  3. Создание производных тем

    • Извлеките палитру из обоев
    • Примените её ко всем элементам интерфейса

Установка и первые шаги

  1. Установите зависимости:
    pip install basic_colormath tqdm pillow pygobject
    
  2. Клонируйте репозиторий
  3. Запустите GUI:
    python3 color_manager/gui.py
    
    Или используйте API в своих скриптах:
    from color_manager import utils
    utils.recolor("icons/", "output/", "new_icons", "#336699")
    

Кому особенно пригодится?

  • Разработчикам тем для Linux
  • Дизайнерам, работающим с системной графикой
  • Энтузиастам кастомизации интерфейсов
  • Тем, кто хочет быстро прототипировать цветовые решения

Что в планах?

Автор активно развивает проект. В ближайших планах:

  • Автоматическое расширение палитр
  • Интеллектуальная инверсия цветов
  • Сборка в пакеты для Linux (deb, flatpak, appimage)

Color Manager — это тот редкий инструмент, который сочетает мощь программирования с простотой дизайнерского инструмента. Если вы хоть раз тратили часы на подбор идеального сочетания цветов в интерфейсе — попробуйте автоматизировать этот процесс. Всего несколько строк кода — и ваша система заиграет новыми красками!

Проект полностью открыт под лицензией AGPL-3.0, и автор приветствует вклад сообщества, особенно в части упаковки для дистрибутивов Linux.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.