Динамическая раскраска элементов панели

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
User avatar
buniak_a_h
Posts: 4256
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Динамическая раскраска элементов панели

Post by buniak_a_h »

Latest post of the previous page:

RoxMarty wrote: Sun 02 Jul, 2023 05:25
buniak_a_h wrote: Sat 01 Jul, 2023 22:50 Реализовано сохранение раскраски в локальный файл (APanel.Path \ .PaintPan.cfg) и глобальный (%FarProfile%\BAX\.PaintPan.cfg).
Работает, только при глобальном режиме сохранение происходит не сюда (где обычно находится папка BAX - или это только у меня так?):
...\Profile\Macros\modules\BAX
а создаётся папка тут:
...\Profile\BAX

В принципе, ничего против не имею, может так и должно быть :)
Собс-но, в посте так и написано:
buniak_a_h wrote: Sat 01 Jul, 2023 22:50 … глобальный (%FarProfile%\BAX\.PaintPan.cfg).
А папка BAX может находиться где угодно. Обязательной является только папка BAX в модулях (…\Macros\modules\BAX). Но файл с выгрузкой раскраски - это же не модуль!
RoxMarty wrote: Sun 02 Jul, 2023 05:25 Отдельная благодарность за возможность и свои имена создавать
Подразумевалось, что так можно обмениваться схемами раскраски (например, выгрузка на флэшку)
RoxMarty wrote: Sun 02 Jul, 2023 05:25 … появилось некоторое неудобство в сочетании с плагином PanelTabs (у меня последняя версия 1.0.1.5), т.к. при включении раскраски, табы в панели начинают рандомно мигать и исчезать (особенно при подведении мышки).
Полагаю, что тут придётся смириться, т.к. постоянное обновление экрана необходимо для работы скрипта?
Я не постоянно перерисовываю, а по событию консольного ввода (клавиатурного или мышового). Как сделано в плагине PanelTabs я не знаю, думаю тоже перерисовывается по событию или по таймеру.Просто после любого нажатия клавиши, а также открытия диалога и в некоторых других случаях ФАР перерисовывает панель и при этом, есессно, затирает раскраску. Увы, события на окончание перерисовки панели не генерируется (раньше, вроде, была группа событий PanelEvent, но теперь её нет ни в документации, ни в реалии - обработчик не вызывается).
И, кстати, я не знаю, будет ли обновляться раскраска, если обновление панели происходит не из-за консольного события, а по таймеру (см. настройку Panel ->
[ ] Disable automatic panel update if object count exceeds 0
)
RoxMarty
Posts: 123
Joined: Sat 08 Dec, 2012 18:50
Has thanked: 52 times
Been thanked: 3 times

Динамическая раскраска элементов панели

Post by RoxMarty »

buniak_a_h wrote: Sun 02 Jul, 2023 05:54 я не знаю, будет ли обновляться раскраска, если обновление панели происходит не из-за консольного события, а по таймеру
Никогда не пользовался этой штукой, но ради интересно поставил значение 10. Ничего не изменилось.

Ешё раз большое спасибо за такое полезное нововведение. Гляжу, судя по количеству скачиваний, не только мне это интересно :)

Кстати.
Понимаю, что наверно уже надоел с хотелками, но нет ли в планах сделать (расширить возможности до аналогичного сохранения и т.п.) то, с чего всё это началось?
А именно, с этой темы Выделение текста другим цветом
Win 10 x64 / FAR 3 x64
User avatar
buniak_a_h
Posts: 4256
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Динамическая раскраска элементов панели

Post by buniak_a_h »

RoxMarty wrote: Sun 02 Jul, 2023 14:39 нет ли в планах сделать (расширить возможности до аналогичного сохранения и т.п.) то, с чего всё это началось?
А именно, с этой темы Выделение текста другим цветом
User avatar
buniak_a_h
Posts: 4256
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Динамическая раскраска элементов панели

Post by buniak_a_h »

HaRT wrote: Sun 31 Mar, 2024 00:28
buniak_a_h wrote: Sat 30 Mar, 2024 19:58 There is a script that allows you to color any item on the panel. The rules of coloring are set by regexp. You can set coloring rules for any folder
Does the script allow to color the panel background itself, per directory or at least per FAR instance?
Вопрос был задан в англоязычной ветке форума. Я знаю, что Вы понимаете по-русски, а переводить Яндексом мне тяжко, посему отвечаю сюда. Да и правильнее это…
  1. Вообще-то, при задании цвета указывается как Foreground, так и Background. Так что фон для итемов можно поменять.
  2. Совсем просто доделать скрипт, чтоб раскрашивал всю панель нужным цветом. Используя модуль чтения с экрана.
  3. Главное. Как выяснилось, скрипт зацикливается на регэкспе /.*/, так что он всё же требует некоторой доработки. Его можно использовать как пример для написания того, что требуется.
User avatar
HaRT
Moderator
Posts: 10849
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Динамическая раскраска элементов панели

Post by HaRT »

buniak_a_h wrote: Sun 31 Mar, 2024 01:07 Вопрос был задан в англоязычной ветке форума.
[…]
фон для итемов можно поменять
В той теме вопрошающий ищет способ покрасить не отдельные элементы на панели, а сами панели, чтобы легко на взгляд различать разные экземпляры Фара. То есть задача другая, нежели решаемая скриптом из этой темы. Поэтому я и задал свой вопрос. Там не требуется гибкость и гранулярность этого скрипта, но требуется максимальная комплексность (чтобы раскрасить фон всевозможных элементов интерфейса панели). Поэтому мне кажется, что стоило бы решать ту задачу другим, отдельным скриптом.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4256
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Динамическая раскраска элементов панели

Post by buniak_a_h »

HaRT wrote: Sun 31 Mar, 2024 03:09 задача другая, нежели решаемая скриптом из этой темы
На самом деле если всем итемам задать фон, отличный от умолчательного, то это - практически и есть решение его задачи. Ну, кроме строк, свободных от элементов. Увы, на маску /.*/ скрипт не был рассчитан. Но он демонстрирует путь для решения. Нет?
User avatar
HaRT
Moderator
Posts: 10849
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Динамическая раскраска элементов панели

Post by HaRT »

buniak_a_h wrote: Sun 31 Mar, 2024 07:01Нет?
Нет:
HaRT wrote: Sun 31 Mar, 2024 03:09 фон всевозможных элементов интерфейса панели
Также важным требованием является различие раскраски между экземплярами Фара.

Честно говоря, мне не слишком интересно участвовать в выработке рабочего решения для той задачи, поэтому от дальнейшей дискуссии воздержусь.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4256
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Динамическая раскраска элементов панели

Post by buniak_a_h »

HaRT wrote: Mon 01 Apr, 2024 00:41 мне не слишком интересно участвовать в выработке рабочего решения для той задачи
А вот меня заело, и я сделал-таки скрипт, позволяющий раскрашивать панели в зависимости от папки (руководит раскраской некий CFG-файл). Причем, левая и правая панели могут быть окрашены в разные цвета. Пример (скриншот) и сам скрипт с модулем здесь. Если кто пользовался моими модулями, то обратите внимание: в ReadConsole.lua исправлена ошибка (были перепутаны Foreground и Background в функции перевода цвета из цифры в структуру).
Проверено на 4-битной палитре; на более полной может не работать раскраска курсора (не проверял).
User avatar
John Doe
Бюрократ
Posts: 13842
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Динамическая раскраска элементов панели

Post by John Doe »

buniak_a_h wrote: Tue 02 Apr, 2024 08:49 Причем, левая и правая панели могут быть окрашены в разные цвета
Лихо!

Подозреваю что вопрошающему было бы достаточно изменения раскраски штатным образом через апи.
И (возможно) есть смысл сделать это в рамках сustomfolderstate_user.moon
https://t.me/FarManager — Telegram чат
User avatar
buniak_a_h
Posts: 4256
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Динамическая раскраска элементов панели

Post by buniak_a_h »

John Doe wrote: Tue 02 Apr, 2024 10:02 Подозреваю что вопрошающему было бы достаточно изменения раскраски штатным образом через апи.
Я не умею менять раскраску одной панели через АПИ. В той англоязычной ветке как раз Вы писали про SetArrayColor, но как это прикрутить, чтоб цвет панели зависел от её папки, я не знаю.
John Doe wrote: Tue 02 Apr, 2024 10:02 И (возможно) есть смысл сделать это в рамках сustomfolderstate_user.moon
В упомянутом проекте нет ни ридми, ни описания. Ну, я не нашёл. Возможно, плохо искал… Т.е. чтоб узнать, что он делает, надо его поставить или проиграть (хотя бы мысленно). Мне - влом. Хотя я чувствую, что проект интересный и полезный :-(
User avatar
John Doe
Бюрократ
Posts: 13842
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Динамическая раскраска элементов панели

Post by John Doe »

buniak_a_h wrote: Tue 02 Apr, 2024 10:26 Я не умею менять раскраску одной панели через АПИ.
Одной через апи не предусмотрено.
buniak_a_h wrote: Tue 02 Apr, 2024 10:26 Т.е. чтоб узнать, что он делает, надо его поставить
Несомненно)
В целом - он выполняет определённые действия при заходе/выходе из заданных папок.
Пользовательские настройки в сustomfolderstate_user.moon.
По умолчанию уже настроен на то чтобы в Downloads выставлять сортировку по дате.
Может и макросы выполнять.
https://t.me/FarManager — Telegram чат
User avatar
buniak_a_h
Posts: 4256
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Динамическая раскраска элементов панели

Post by buniak_a_h »

John Doe wrote: Tue 02 Apr, 2024 10:02 И (возможно) есть смысл сделать это в рамках сustomfolderstate_user.moon
Если бы этот скрипт был на LUA - легко. НО! Очень не хочется привыкать к moon - для меня этот язык какой-то кривой…
User avatar
HaRT
Moderator
Posts: 10849
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Динамическая раскраска элементов панели

Post by HaRT »

buniak_a_h wrote: Tue 02 Apr, 2024 22:44 Если бы этот скрипт был на LUA - легко. НО! Очень не хочется привыкать к moon - для меня этот язык какой-то кривой…
Это лучше обсуждать там.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Нужна помощь”