В частности, неудобны такие вещи:
- для работы с фильтром надо комбинацией клавиш предварительно активировать режим фильтрации.
- будучи режимным, фильтр не позволяет обычным образом пользоваться шорткатами и клавишей Backspace
(у фильтров в фаре конечно есть и другие проблемы, но их я пока не затрагиваю)
- Автофильтр меню — автоматическая активация режима фильтрации в заданных меню.
- По умолчанию во всех 3х историях, в меню плагинов и их конфигурации, в far:config, в историях полей ввода и кое-где ещё.
- Комбинация CtrlAltF служит для того чтобы включить или отключить автоматическую активацию для какого-либо меню (или диалога в котором первый фокусный элемент — листбокс).
- Это возможно в любых меню и диалогах, в том числе плагиновых и созданных скриптом или макросом.
Для различения меню/списков используется гуид (если определён), или заголовок (если не пустой). - Автофильтр можно отдельно активировать для:
- MainMenu (нажать CtrlAltF в главном меню)
- Историй полей ввода (открыть историю любого из полей и нажать CtrlAltF, после этого автофильтр будет активироваться во всех историях)
- Если пункты меню снабжены хоткеями, то очевидно что в режиме фильтрации невозможно ими воспользоваться напрямую (только через Alt, что не совсем привычно).
Поэтому с помощью макроса я реализовал альтернативное поведение (для режима фильтрации):
Для активации пункта с каким-либо хоткеем достаточно нажать соответствующую клавишу дважды.
- В качестве альтернативы вышеприведённым макросам можно рассмотреть реализацию немодального фильтра меню.
Помимо всех меню поддерживается работа в автодополнении, в выпадающих и прочих списках.
- Работает подобно Быстрому Поиску в панелях: для работы с фильтром необходимо удерживать Alt.
- После отпускания Alt фильтр не сбрасывается. Полностью сбросить можно одиночным нажатием на правый Alt.
Или же как обычно использовать Backspace (Alt-BS) для посимвольного удаления. - Есть поддержка символов, требующих Shift (вряд ли востребовано, слишком много модификаторов).
- По техническим причинам ввод кириллицы реализован через одно место, но на первый взгляд всё работает.
- И для коллекции ещё пара простых макросов: