При использовании быстрого поиска в макросах столкнулся с багом: используя print в некоторых случаях можно вставить в панель поиска несуществующую строку.
Например, запускаю из командной строки такой макрос:
Если в текущей папке есть (например) файл, начинающийся на "12", то всё нормально, в строку вставится только "12".
Но если в текущей папке нет ни одного файла, начинающегося с "1", строка вставляется полностью! Т.е. "123".
При этом удалить её с помощью BS не получается (видимо потому что удаление последнего символа не приводит к совпадению)
Быстрый поиск
Posted: Fri 26 Dec, 2014 15:39
by John Doe
Существует ещё один сценарий, в результате которого перестаёт работать не только BS/CtrlBS, но и прочие клавиши изменяющие строку, включая CtrlY.
Такое происходит если не закрывая быстрый поиск использовать FFCTL_OPENFILTERSMENU так, чтобы на панели не оказалось ни одного подходящего файла.
Например, захожу в FARHOME\Encyclopedia, набираю в быстром поиске "far", жму
John Doe wrote: При этом удалить её с помощью BS не получается
В билдах < 4156 удаляется.
Быстрый поиск
Posted: Fri 26 Dec, 2014 17:57
by zg
John Doe wrote:Но если в текущей папке нет ни одного файла, начинающегося с "1", строка вставляется полностью!
на самом деле — нет. реально там пусто, просто edit control не перерисовывался. ну а начиная с 4156 он перестал перерисовываться при нажатии bs при пустой строке ввода. 4228.
Быстрый поиск
Posted: Fri 26 Dec, 2014 18:10
by John Doe
В идеале поведение должно быть одинаковым, независимо от того, присутствуют ли на панели элементы, начинающиеся на "1"
Быстрый поиск
Posted: Fri 26 Dec, 2014 18:12
by zg
John Doe wrote:В результате содержимое строки уже невозможно изменить.
ctrlbs.
Быстрый поиск
Posted: Fri 26 Dec, 2014 18:29
by John Doe
John Doe wrote: перестаёт работать не только BS, но и прочие клавиши изменяющие строку, включая CtrlY.
Странно, но на другом компьютере CtrlY в этой ситуации работает.
Проверялось многократно (оба варианта).
zg wrote: ctrlbs.
Если в быстром поиске пробелы, например "1 2 3", то CtrlBS не работает
John Doe wrote: перестаёт работать не только BS, но и прочие клавиши изменяющие строку, включая CtrlY.
Странно, но на другом компьютере CtrlY в этой ситуации работает.
Разобрался, CtrlY/CtrlBS не работает в случае если на панели нет ни одного элемента.
Например в случае использования фильтра 0. Folders надо чтобы в текущей папке не было подпапок.
Быстрый поиск
Posted: Thu 08 Jan, 2015 15:32
by John Doe
В быстром поиске не работает команда ACTL_REDRAWALL (Перерисовка всех окон Far Manager)
Keys"Alt|"
local f = far.CreateFileFilter(1, "FFT_PANEL")
f:OpenFiltersMenu()
f:FreeFileFilter()
Здесь я из быстрого поиска открываю меню фильтров.
Если закрыть это меню с помощью Enter, то быстрый поиск не перерисуется.
Быстрый поиск
Posted: Tue 13 Jan, 2015 16:08
by John Doe
Странное явление: при открытом быстром поиске переключаюсь по AltTab в другое приложение, а когда возвращаюсь, то вижу, что быстрый поиск закрыт.
Разместил окна рядом, повторил эксперимент, и заметил, что быстрый поиск закрывается не сразу, а где-то через полсекунды после переключения в другое окно.
Это фича или баг?
P.S.
Тот же эффект при CtrlEsc, CtrlShiftEsc, CtrlAltDel, при переключении мышью, и т.д.
Общее тут то, что консоль фара теряет фокус.