Windows темная тема Lazarus или LCL приложения

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Windows темная тема Lazarus или LCL приложения

Сообщение zub » 08.07.2023 22:10:09

https://github.com/zamtmn/metadarkstyle

Сам модуль переопределяющий классы контролов взял у Alexx2000 из его Double Commander, немного допилил и поправил

metadarkstyle.lpk - пакет переопределяющий виджеты для LCL приложения
metadarkstyledsgn.lpk - пакет для транкового Lazarus IDE
metadarkstyledsgn226.lpk - пакет для стабильного Lazarus IDE 2.2.6 (актуально на момент описания)

Примеры использования для приложений в папке examples
Для установки в Lazarus устанавливаем metadarkstyle.lpk, затем metadarkstyledsgn.lpk/metadarkstyledsgn226.lpk в зависимости от версии иде

В настройках иде появляется пункт Dark style где можно выбрать цветовую схему иде (для редактора кода выбирать/настраивать схему отдельно в настройках редактора). Все манипуляции выполняются при старте лазаря, поэтому для применения новых настроек необходим рестарт
Цветовые схемы представляют из себя текстовые файлы вида https://github.com/zamtmn/metadarkstyle ... tylecolors которые нужно линковать в ресурсы или помещать в папку userschemes в папке настроек лазаря

Пока более-менее работает схема Dark - она использует системную отрисовку контролов, в других схемах некоторые контролы рисуются руками, что недопилено.

Репорты/патчи приветствуются))
Последний раз редактировалось zub 13.07.2023 19:48:02, всего редактировалось 1 раз.
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Windows темная тема Lazarus или LCL приложения

Сообщение Сквозняк » 09.07.2023 00:02:00

Да просто цвета поменять, этого недостаточно. Для кода на чёрном фоне нужно и отрубить привычку лазаруса манипулировать жирностью символов и шпарить весь текст упитанными буквами, как в линуксовой консольной иде. Вот там после настройки цвета идеальные.
Изображение
Сквозняк
энтузиаст
 
Сообщения: 1110
Зарегистрирован: 29.06.2006 22:08:32

Re: Windows темная тема Lazarus или LCL приложения

Сообщение zub » 09.07.2023 12:22:35

Смысл не раскрасить редактор - он и так прекрасно раскрашивается как душе угодно, а темные контролы
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Windows темная тема Lazarus или LCL приложения

Сообщение Сквозняк » 09.07.2023 14:49:51

Да плохо он раскрашивается. Шрифты на ЖК мониторах, это сложная тема. Полтора жэкашных пикселя хорошо не сделаешь, а ещё есть сглаживание, которое тоже требует линий определённой толщины. И получается, что определённые цвета требуют линий определённой толщины, которые не даёт сделать лазарус. С контролами в линуксе в кедах вообще всё хорошо: настраиваешь системную тему как тебе нужно, без всяких прозрачностей, а потом лазарус её подхватывает. Но опять же, что хорошо выглядит на одном мониторе и ОС, то плохо в других, потому чтоизготовители мониторов любят экономить копейки на шим и нормально отрегулировать подсветку матрицы не всегда возможно, а изготовители дров видухи любят забивать на фичи, необходимые для снижения яркости цветов программными методами. Нужно веть так затемнить светлые цвета, чтобы и тёмные не сливались в сплошной чёрный, а для этого необходима продвинутая регулировка контрастности, которая конечно же снизит фпс в играх, а потому в свободных дровах её делать не хотят, чисто для очковтирательства: смотрите какое у нас игровое фпс высокое, наслаждайтесь им в офисных приложениях!
Сквозняк
энтузиаст
 
Сообщения: 1110
Зарегистрирован: 29.06.2006 22:08:32

Re: Windows темная тема Lazarus или LCL приложения

Сообщение zub » 09.07.2023 22:13:16

Тут про тёмную тему для lcl приложений в windows, не про шрифты на жк мониторах, завязывай
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Windows темная тема Lazarus или LCL приложения

Сообщение Alex2013 » 13.07.2023 16:27:06

zub писал(а):Смысл не раскрасить редактор - он и так прекрасно раскрашивается как душе угодно, а темные контролы

C цветами контролов все довольно печально но решаемо....
PageControl изменить стиль заголовка TabSheet

Изображение
Зы
При желании или необходимости Кнопки (TButton ) успешно заменяются панельками (TPanel) (у них цвет меняется нормально )

Добавлено спустя 16 минут 55 секунд:
Кстати, кто-нибудь в курсе как можно поменять цвета в заголовке окна :?: ( Разумеется заголовок можно тупо отключить и нарисовать свой с аналогичным функционалом но (имхо) как-то это криво )
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Windows темная тема Lazarus или LCL приложения

Сообщение zub » 13.07.2023 17:23:10

В данном пакете оно почти решено. но работает только в windows 10.
Приложу пару скриншотов:
Вложения
2.png
1.png
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Windows темная тема Lazarus или LCL приложения

Сообщение Alex2013 » 13.07.2023 18:54:28

Здорово, но (ИМХО) не очень актуально вот если бы в своей программе можно было столь же легко менять цвета и палитры это было бы совсем другое дело !
(Вроде в шапке темы есть указание на metadarkstyle.lpk (- пакет переопределяющий виджеты для LCL приложения ) но мучают меня смутные сомнения ) :roll: Потому что, для того чтобы перекрасить хотя-бы часть "стандартных контролов" LCL мне понадобились такие "танцы с бубном" что в простое общее изменение цвета верится с большим трудом.
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Windows темная тема Lazarus или LCL приложения

Сообщение zub » 13.07.2023 19:41:54

Что тут можно сказать, наверно стоит попробовать?

Пакет естественно сырой, но вполне работает. палитра меняется как в лазаре так и в Вашем LCL приложении))
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Windows темная тема Lazarus или LCL приложения

Сообщение Alex2013 » 14.07.2023 02:09:18

Ок Спасибо ! Попробую.
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Windows темная тема Lazarus или LCL приложения

Сообщение Alex2013 » 25.07.2023 00:16:01

Кстати есть ведь модуль UxTheme вроде делает тоже самое. (У меня не заработал но кое какие запреты на изменение цвета я сего помощью снял )
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Windows темная тема Lazarus или LCL приложения

Сообщение zub » 25.07.2023 12:23:46

Нет, он используется конечно, но сам по себе не решает проблем.

Поправил компиляцию примеров
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Windows темная тема Lazarus или LCL приложения

Сообщение Alex2013 » 25.07.2023 13:18:41

zub писал(а):Поправил компиляцию примеров

Надо проверить, а то я честно говоря устыдился спрашивать "Что не так с примерами? "
(Что-то такое я все же собрал ... но по ощущениям вышло "чудовище Франкенштейна " так что отложил в долгий ящик )
Зы
А скроллбар цвет меняет? Потому что у меня с ним знатный затык ( есть аналоги в пакетах типа Графикс32 но там нет нужного мне обработчика события OnScroll )
Можно разумеется "нарисовать" свой аналог но для развой заплатки это (ИМХО) слишком кудряво.
Последний раз редактировалось Alex2013 25.07.2023 14:14:17, всего редактировалось 2 раз(а).
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

Re: Windows темная тема Lazarus или LCL приложения

Сообщение zub » 25.07.2023 13:28:55

не стесняемся, наводим критику))

скролбар цвет меняет. у него 2 режима: если в файле темы есть
CustomDrawScrollbars:=true;

то рисуется простенький скролбарр в соответствии с цветами палитры как на моем "синем" скриншоте выше
если
CustomDrawScrollbars:=false;

то рисуется системный скролбарр из темного проводника. как на "черном" криншоте
но пока с скроллбарами есть баг, например у меня в зкаде несмотря на CustomDrawScrollbars:=true на некоторых мемо (и других контролах где скроллбар "встроен") создается "черный" системный скроллбар
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Windows темная тема Lazarus или LCL приложения

Сообщение Alex2013 » 25.07.2023 14:12:11

Ок! "Буду посмотреть"
Alex2013
долгожитель
 
Сообщения: 2957
Зарегистрирован: 03.04.2013 11:59:44

След.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 121

Рейтинг@Mail.ru