Год назад учил Си, осваивал 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
--help, -? - справка
Скомпилированный бинарник (amd64)
Скриншоты с несколькими известными темами
>>> Подробности