Год назад учил Си, осваивал GTK и в процессе писал враппер для Wine, упрощающий настройку многих утомительных действий. Сейчас дописывать проект нет ни времени, ни сил, но в нём была удобная функция адаптации темы Wine к текущей теме GTK3, которую я вынес в отдельную консольную утилиту. Знаю, в Wine-staging есть функция «мимикрии» под тему GTK, но сделано это очень криво, часть виджетов перестаёт отвечать или вообще отображаться, и это длится уже несколько лет, так что моё решение куда как более юзабельное, хотя и далеко не идеальное.
Утилита «вытаскивает» цвета из текущей темы GTK-3 и оптимально подстраивает их для использования с виджетами WinAPI. Алгоритм оптимизирован для использования как со светлыми, так и с тёмными темами. К сожалению, особенности тем а-ля «windows 95» не позволяют добиться современного плоского дизайна, в любом случае часть виджетов отображаются некорректно. Для придирчивых пользователей есть несколько ключей для более точной подстройки под себя.
Қолданылуы:
—prefix, -p $PATH — путь к префиксу
—not-run-winecfg, -w — не запускать Winecfg после применения темы
—loader-dir, -l $DIR — путь к произвольному загрузчику Wine, например, "/opt/wine-staging/bin"
—set-default, -d — отменить всё баловство с цветами и вернуть дефолт
—main-color, -m $COLOR — произвольный фоновый цвет виджетов, например, "#fa4500"
—highlight-color, -c $COLOR — цвет подсветки выделенных виджетов
—active-color, -a $COLOR — цвет заголовка активного окна
—inactive-color, -i $COLOR — цвет заголовка неактивного окна
—text-color, -t $COLOR — цвет текста
—contrast, -c $VALUE — настройка контрастности итоговой темы, от 0.1 до 2.0, по умолчанию 1.0
Скомпилированный бинарник (amd64)
Скриншоты с несколькими известными темами
Ақпарат көзі: linux.org.ru