Layout.WidthDecrement и дёргание панелей

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Post Reply
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Layout.WidthDecrement и дёргание панелей

Post by Wave »

Суть проблемы: сменил раскраску FARа и групп файлов и прочего на чужую — и началось.
При перемещении курсора с левой панели на правую или обратно началось дёргание: та панель, на которую переходит курсор, на одно знакоместо расширяется, а ооставляемая, соответственно, сужается. Раздражает страшно. Искал, в чём дело, но просто так не нашёл.
Однако, помимо прочего конфиги FARа я храню в Git-репозитории в xml-виде. И разбираясь с ними, я заметил, что параметр Layout.WidthDecrement сменил значение с нуля на единицу (в чужой раскраске этого не было, вообще этот параметр там не упоминается). Заинтересовавшись, попробовал через far:config его обнулить. Дёргаться панели стали ещё сильнее, а когда я зашёл в far:config опять, там красовалась уже двоечка. Следующее обнуление нарисовало там тройку и ещё более сильное дёргание. И так далее. Пробовал поставить минус единицу, так через пару итераций там красовалась уже минус четвёрка.

Если честно, то в итоге я в конфиге прописал ноль и импортировал конфиг через far -import. Тогда в этом параметре стал красоваться ноль, но дёргания панели не прекратились, просто опять стали шириной в один символ.
В первую очередь меня интересует, как прекратить это дёргание панелей. Если оно прекратится, то мне начхать, что этот параметр самовольно на что-то меняется, но вот если дёргание идёт из-за этого параметра, а на то похоже, тогда ой.

Чем ещё чужая раскраска отличается от моей, так это Cmdline.PromptFormat и Interface.VirtualTerminalRendering. Второй из них я пробовал и ноль, и единицу, и Interface.FullWidthAwareRendering тоже пробовал и в ноль, и в единицу ставить — на дёргание никак не влияло.

P.s. Гугление нашло только одно упоминание этого WidthDecrement — в теме TechInfo зло и будут искореняться. Без объяснения, что это такое и за что отвечает.
P.p.s. Подвержены и x86 5888, и x64 5955.
Last edited by Wave on Mon 24 Jan, 2022 01:32, edited 2 times in total.
Пользуюсь ФАРом больше 20 лет © собирательный.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Layout.WidthDecrement и дёргание панелей

Post by 2useven10 »

Видимо это смешение относительно центра разделителя правой и левой панелей.
Изменяется в панелях Ctrl+Left, Ctrl+Right, Ctrl+Numpad5.
Если дерганье по Tab, то скорее всего ширина консольного окна нечетная,
а решение какой панели отдать лишний символ при определении центра зависит от активности панели.
Попробуйте скорректировать размер окна, думаю проблема уйдёт.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Layout.WidthDecrement и дёргание панелей

Post by DrKnS »

2useven10 wrote: Mon 24 Jan, 2022 23:42 Если дерганье по Tab, то скорее всего
Макрос.
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Layout.WidthDecrement и дёргание панелей

Post by Wave »

Ладно, виновный найден. Среди набора макросов SimSU оказался Shell_SmartWidth.lua. А так как я кроме смены раскраски ещё и сменил ноутбук, то, видимо, действительно ширина консольного окна раньше была чётной, а стала нечётной. Я потому на макросы и не грешил, что хоть их у меня и скопилось слишком много, давно пора сделать генеральную ревизию, но вот их набор давно не менялся.
Пользуюсь ФАРом больше 20 лет © собирательный.
Post Reply

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