Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Far colors moved to farcolors.ini #2600

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Conversation

anta999
Copy link
Contributor

@anta999 anta999 commented Dec 27, 2024

No description provided.

@anta999
Copy link
Contributor Author

anta999 commented Dec 27, 2024

New farcolors.ini example:

[farcolors]
Clock=F_WHITE
CommandLine=BACK_RGB(0, 0, 0) | FORE_RGB(204, 204, 204) + (B_BLACK | F_LIGHTGRAY)
CommandLine.Prefix=BACK_RGB(0, 0, 0) | FORE_RGB(204, 204, 204) + (B_BLACK | F_LIGHTGRAY)
CommandLine.Selected=0xFFFFFFFFFFFFFFFF
CommandLine.UserScreen=BACK_RGB(rand()%256,rand()%256,rand()%256) + foreground(#FFAADD) + (rand()&15 * 16) + F_RED

The compatibility with all old color settings has been maintained.

@elfmz
Copy link
Owner

elfmz commented Dec 29, 2024

ох блин, а этот DSL для описания цветов, он случаем на времени запуска не сказывается печальным образом?

@unxed
Copy link
Contributor

unxed commented Dec 29, 2024

Можно, наверное, кэшировать результаты вычислений и пересчитывать только если время изменения конфига поменялось?

@elfmz
Copy link
Owner

elfmz commented Dec 29, 2024

Вариант да, если уж приспичит сильно, но можно все же упростить этот все равно по сути недоскриптинг, до необходимого минимума, чтобы ускорить парсинг. Плюс я не дизайнер,но мне кажется для типичного дизайнера выражение #CCCCCC привычнее нежели RGB(204, 204, 204), которое привычно только программистам.

Потому вместо CommandLine=BACK_RGB(0, 0, 0) | FORE_RGB(204, 204, 204) + (B_BLACK | F_LIGHTGRAY)

сделать примерно так: CommandLine=BACK_RGB:000000 FORE_RGB:CCCCCC BACK:BLACK FORE:LIGHTGRAY
парсить его можно вот этим - https://github.com/elfmz/far2l/blob/master/utils/include/StringConfig.h
...и сорри, но не надо рандома а так же синуса, косинуса и прочего для парсинга чего надо поднимать MathExpression из калькулятора или его аналог. А то так и до запуска Doom II в окне фара путем задания хитрой цветовой схемы недалеко..
Проще надо быть :)

@anta999
Copy link
Contributor Author

anta999 commented Dec 29, 2024

Сработает вот так:
CommandLine=BACK_RGB(#000000) | FORE_RGB(#CCCCCC) + B_BLACK + F_LIGHTGRAY

Мне кажется вы зря переживаете он довольно шучтрее чем MathExpression. А можно еще и хеши стандартные убрать.
Зато удобннее будет темы заполнять.
Сейчас пойду замерю скорость) И включу простой вариант для сравнения. А потом выберете сами.

@akruphi
Copy link
Contributor

akruphi commented Dec 30, 2024

Сейчас пойду замерю скорость)

Кроме скорости интересно замерить потребление ресурсов (память, нагрузка процессора). И кроме десктопов проверить на каком-нибудь OpenWrt, чтобы уже точно понимать что даже на ограниченном устройстве ничего явно не ухудшилось.

@anta999
Copy link
Contributor Author

anta999 commented Jan 5, 2025

Почистил и минимизировал парсер. У меня скорость примерно 6-7 лямов строк в сек.
Формат для записи сейчас такой:
Clock=background:#00c8ff foreground:#000000, B_CYAN | F_BLACK
Но на деле он проглотит почти все что угодно.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants