Page 1 of 1

Предложение: центровать экран к первой позиции в Editor/Viewer во время поиска

Posted: Tue 26 May, 2026 07:59
by Ultrabyte


Проблема 1:
Editor:
На упрощенном примере, ищем знак *. в viewcolor.lua в , много раз нажимая ShiftF7 (next search) и в конце строки - переход на короткую строку, но экран не оцентровался, остался на уровне "слепой зоны" (со сильным смещением куда-то вправо) с микроскопическим куском найденного текста, и не понятно, про что это и в какой части программы. Дезориентирует. Приходилось лишний раз нажимать "home", чтобы вручную оцентровать экран и понять местонахождения, нахожусь ли в той же функции или уже вышел за порогом к другой функции.

Viewer:
в Viewer.cpp не завезли "центровку".

Решение:
1) видимый экран смещать в начальное положение, если найденный фрагмент в пределах ширины экрана
2) видимый экран центровать в середину, если найденный фрагмент находится за экраном вправо.

Проблема 2:
Editor:
Изучая editor.cpp, понятно, что есть отступ с фиксированной величины 8 знаков (без/с Scrollbar). Это норм для "дефолтных 80х25". Но довольно тесно для широких 120х35.

Viewer:
в Viewer.cpp не завезли "отступ 8 знаков".
Например, при поиске, найденный *. может скрываться за Far'>' и скроллбаром :shock:

Решение:
1) Динамический отступ, где для 80х25 - остается 8 знаков (для сохранения аутентичности), для 120х35 - отступ 12 знаков (по формуле "ширина/10") - так немного комфортнее. Пробовал сильнее "задвинуть", но появляется неприятные побочки, например, задний поиск AltF7 - "центровка" экрана лишний раз норовит задвинутся, когда этого не требовалось. Поэтому формула "ширина/10" скорее всего оптимальнее.

Правка:



Если нет возражении, то возможно на след.недели сделаю аккаунт на github->pullrequest (хотя не знаю что там нужно делать)