Быстрый поиск

Здесь можно сообщить о найденных багах в Far.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Быстрый поиск

Post by John Doe »

Latest post of the previous page:

John Doe wrote: Какие по существу возражения против того, чтобы заменить "безусловное закрытие быстрого поиска" посылкой макроклавиши?
Хочу продемонстрировать возможно решение с использованием ProcessConsoleInputW.

Текущая версия LuaMacro пока не обрабатывает ProcessConsoleInputW (на мантисе пожелание есть), поэтому прилагаю слегка версию (x86).

Напомню суть проблемы:

Вместо того, чтобы просто гасить быстрый поиск можно дать макросу доступ к фокусным событиям, например:
Тут при поступлении фокусного события обработчик пытается выполнить макрос с именем "GOTFOCUS" или "LOSTFOCUS", что значительно гибче.
Attachments
consoleinput.7z
(25.13 KiB) Downloaded 147 times
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Быстрый поиск

Post by John Doe »

Только что нашёл способ получше, позволяющий вообще не запускать макрос, в случае когда Alt приходит ошибочно (при нажатии AltTab).

Code: Select all

local F = far.Flags
local LostFocus
Event { description="watch for focus";
  group="ConsoleInput";
  action=function(Rec)
    if Rec.EventType==F.FOCUS_EVENT then
      LostFocus = not Rec.SetFocus
      return 1
    end
  end;
}
local function skipAltTab()
  LostFocus = false
  mf.waitkey(1)
  return not LostFocus
end

Macro {
  area="Shell"; key="Alt"; description="Use Alt for search by name (activate)";
  condition=skipAltTab;
  action = function()
    Keys('Alt<')
  end;
}

Macro {
  area="Search"; key="Alt"; description="Use Alt for search by name (deactivate)";
  condition=skipAltTab;
  action = function()
    Keys('Esc')
  end;
}
Преимущество перед прочими вариантами: если быстрый поиск был открыт до переключения по AltTab, то он и остаётся открытым.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Быстрый поиск

Post by John Doe »

DrKnS wrote: Быстрый поиск по одиночному Alt - это привычный и востребованный аудиторией паттерн, а "любой макрос на Alt" - это какая-то фантасмагория, не делайте так.
В Addons недалеко от AltSearch.lua лежит и AltMenu.lua
Cyberwatcher
Posts: 1
Joined: Tue 13 Dec, 2016 12:39

Быстрый поиск

Post by Cyberwatcher »

Столкнулся с одним багом в быстром поиске (версия Far 3.0 (build 4545) x64).

После нажатия Alt+F поиск по файлам идет нормально, но если в поиске нажать точку на цифровой клавиатуре, то поиск вылетает в историю.

Это как-то можно вылечить?
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Быстрый поиск

Post by HaRT »

Cyberwatcher wrote: если в поиске нажать точку на цифровой клавиатуре, то поиск вылетает в историю
А если точнее, то быстрый поиск закрывается, и точка вводится в командную строку, вызывая открытие меню автодополнения. Странное поведение; хотел бы я знать, зачем/почему так.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

Быстрый поиск

Post by Taciturn »

Far 2.0.0.1807 - открываем быстрый поиск, нажимаем Ctrl+Shift/Shif+Alt/Caps Lock для переключения раскладки - быстрый поиск на месте.
Far 3.0.4900.0/3.0.4944.0 - после нажатия указанных комбинаций быстрый поиск закрывается. Так и должно быть или это какой-то глюк и можно писать на Mantis?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Быстрый поиск

Post by Shmuel »

Taciturn wrote: открываем быстрый поиск
CapsLock сломался в диапазоне билдов 3227-3230 (предположительно в 3230).
AltShift - в диапазоне билдов 4744-4756 (предположительно в 4746).
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Быстрый поиск

Post by Dennis_Moore »

Taciturn wrote:
Как альтернативное решение можно использовать плагин FastFind Enhanced.
Вот вам версия со всеми исправлениями из его темы и макрос для вызова который не реагирует на Alt+Tab.
FastFind_Enhanced_1.0.0.5_FIXED_F3.rar
(51.01 KiB) Downloaded 131 times
Tal
Posts: 14
Joined: Sat 21 Sep, 2019 04:52
Has thanked: 3 times
Been thanked: 1 time

Быстрый поиск

Post by Tal »

DrKnS wrote: Fri 23 Jan, 2015 18:12 Быстрый поиск по одиночному Alt - это привычный и востребованный аудиторией паттерн
То, что быстрый поиск в панелях необходим, это, бесспорно, и этого никто, кажется, не отрицает. Как и того, что к вызову быстрого поиска по одиночному Alt`у аудитория Far` попривыкла. Однако при этом создано уже несколько альтернативных макросов, также исполняющих быстрый поиск.

Принципиальное отличие создаваемых макросов от текущего варианта штатного поиска состоит в том, что они, в отличие от него, не занимают сочетания букв с модификаторами Alt и AltShift. Т.е. оставляют пользователю для применения в его макросах 34x2=68 сочетаний ключей.

Вот и уважаемый разработчик системы lua-макросов в Far`е, Shmuel, по этому поводу отмечает: "то, что быстрый поиск отнимает все сочетания с обоими Alt, это непозволительное расточительство".

С учётом того, что, как показывает практика, "быстрый поиск можно было бы активизировать просто по нажатию (точнее, отпусканию) любой из клавиш Alt" предлагаю реализовать это изменение.

Ведь что такого страшного могло бы случится, если бы пользователь, привыкший к вызову быстрого поиска сочетанием Alt+Буква, пусть даже неожиданно, без всякого предупреждения, вдруг обнаружил бы, что панель быстрого поиска появляется по простому нажатию одиночного Alt`а? Полагаю, что он интуитивно быстро приспособится, почти даже не заметив небольшого изменения в интерфейсе. А когда он будет ещё и заранее предупреждён о предстоящем изменении, то и тем более оно для него пройдёт безболезненно. Ну, разве что, на всякий случай, совсем уже для перестраховки, для особо консервативных может быть сделать ещё и опцию для переключения режима вызова быстрого поиска через far:config.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Быстрый поиск

Post by LAT »

Если задача решается макросом, зачем менять привычное поведение?
Tal
Posts: 14
Joined: Sat 21 Sep, 2019 04:52
Has thanked: 3 times
Been thanked: 1 time

Быстрый поиск

Post by Tal »

LAT wrote: Sun 29 Sep, 2019 20:14 зачем менять привычное поведение?
А что? Разве любое привычное поведение не стоит менять?
Ведь если оно заведомо позитивное и эффективное, то, разумеется.
Но в данном то случае суть вопроса состоит именно в том, что предлагается даже не коренным образом поменять, а лишь слегка подкорректировать пусть и привычное, но устаревшее и существенно не эффективное поведение. И то, что оно может быть подкорректировано макросами, т.е. то, что оно фактически требует коррекции макросами, свидетельствует само по себе о его неэффективности. Иначе ни какая коррекция и не была бы нужна.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Быстрый поиск

Post by zg »

Tal wrote: Sun 29 Sep, 2019 21:18А что? Разве любое привычное поведение не стоит менять?
хорошо, поменяли поведение. как тем людям, которые привыкли к старому, вернуть его обратно?
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

Быстрый поиск

Post by LAT »

Tal wrote: Sun 29 Sep, 2019 21:18...то, что оно может быть подкорректировано макросами, т.е. то, что оно фактически требует коррекции макросами, свидетельствует само по себе о его неэффективности. Иначе ни какая коррекция и не была бы нужна.
Если будет выполнена предлагаемая Вами "легкая" коррекция, придется писать макрос, который будет выполнять быстрый поиск по Alt+клавиша. Т.е. предлагаемое Вами поведение "требует коррекции макросами, [что] свидетельствует само по себе о его неэффективности. Иначе ни какая коррекция и не была бы нужна."
Tal
Posts: 14
Joined: Sat 21 Sep, 2019 04:52
Has thanked: 3 times
Been thanked: 1 time

Быстрый поиск

Post by Tal »

zg wrote: Sun 29 Sep, 2019 21:30 как тем людям, которые привыкли к старому, вернуть его обратно?
Tal wrote: Sun 29 Sep, 2019 19:33 на всякий случай, совсем уже для перестраховки, для особо консервативных может быть сделать ещё и опцию для переключения режима вызова быстрого поиска через far:config
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Быстрый поиск

Post by zg »

Tal wrote: Sun 29 Sep, 2019 21:41
Tal wrote: Sun 29 Sep, 2019 19:33 на всякий случай, совсем уже для перестраховки, для особо консервативных может быть сделать ещё и опцию для переключения режима вызова быстрого поиска через far:config
нет. там и так уже очень много опций и их оттуда надо убирать, а не добавлять.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Быстрый поиск

Post by buniak_a_h »

Дайте добавлю 5 копеек...
1. Есть макрос(искаробочный %FARHOME%\Addons\Macros\AltSearch.lua), который по одиночному нажатию Alt включает режим быстрого поиска. Поэтому совершенно необязательно реализовывать эту фичу в ядре.
2. Да, быстрый поиск "занимает" 2*32 (примерно) сочетаний. НО! Это не мешает Вам "вешать" на Alt+буквы макросы. Как показал эксперимент, макросы приоритетнее, чем встроенный быстрый поиск.
Резюмирую. Так как всегда в уже имеющемся ФАРе можно настроить и для любителей старины (нажимать для поиска ALy+букву), и для привычных к DN (ALt, затеи имя), то тема яйца выеденного не стоит. Привет вам от Джонатана Свифта.
Post Reply

Return to “Глюки и баги”