Показывать также искомую строку в заголовке результатов поиска по файлам

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Показывать также искомую строку в заголовке результатов поиска по файлам

Post by buniak_a_h »

fml2 wrote: Tue 26 Jun, 2018 22:44 Если произвести поиск по файлам (Alt+F7), то в заголовке окна с результатами поиска высвечивается маска имени файлов, в которых был произведен поиск. Мне кажется, было бы неплохо показывать еще и строку поиска (или хотя бы ее начало, если она слишком длинная), если она была задана.
fml2, сделал небольшой скрипт, вставляющий строку поиска в заголовок рамки окна с результатами поиска. Некоторые ограничения скрипта:
1. Не обрабатываю языковые настройки (ищу заголовок по маске ^Find file: )
2. Не учитываю размеры окна (что будет, если искомая строка длиннее ширины окна - я не экспериментировал).


Этот вариант скрипта работает только при включённой истории диалогов. (Far.GetConfig('Dialog.EditHistory')). В принципе, есть вариант скрипта и для выключенной истории, но он кардинально сложнее. Если найдётся кто, выключивший историю диалогов и желающий иметь этот сервис - пишите. На смом деле пример "обхода" этого ограничения можно увидеть здесь
AltF7.SearchStr.lua.7z
(755 Bytes) Downloaded 74 times
Last edited by HaRT on Wed 04 Dec, 2019 23:46, edited 4 times in total.
Reason: Укорочен заголовок Темы
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by DrKnS »

Latest post of the previous page:

buniak_a_h wrote: Fri 26 Oct, 2018 14:20Я иногда, чтоб вспомнить, что ж я такое искал, инициировал повторный поиск
F3 на любом найденном + F7, не?
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h »

DrKnS wrote: Fri 26 Oct, 2018 16:15 F3 на любом найденном + F7, не?
Не.
1. А если не найдено? И не поймёшь, ошибся в строке или реально нету...
2. А если поиск по *.bmp,*.png,... (ну, Вы поняли). F3 откроет картинку - оно мне надо?
3. А поиск внутри архива?
4. Не всегда хочется открывать найденное. А иногда и очень долго.

Короче, я уже юзаю. И это действительно удобно.
2useven10
Posts: 5209
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by 2useven10 »

buniak_a_h wrote: Fri 26 Oct, 2018 16:29 2. А если поиск по *.bmp,*.png,... (ну, Вы поняли). F3 откроет картинку - оно мне надо?
Ctrl+Shift+F3
fml2
Posts: 534
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 2 times
Been thanked: 8 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by fml2 »

Спасибо всем, кто реализовал эту функцию! Поставил, вроде все работает как надо. С длинной строкой поиска тоже работает неплохо: она просто обрезается справа и вместо неуместившихся символов показываются три точки.

Вопрос чисто из теоретического интереса: работает ли макрос, если сохранение истории ввода в диалогах выключено?
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h »

fml2 wrote: Fri 26 Oct, 2018 22:09 Вопрос чисто из теоретического интереса: работает ли макрос, если сохранение истории ввода в диалогах выключено?
Видимо, последний вариант не работает. Тогда возьмите более длинный (с запоминанием введённого из поля ввода).Вот отсюда
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h »

Видимо, более эффективный и "безопасный" вариант скрипта: добавлено far.FreeSettings; в вызове settings:Enum беру только последний элемент
Last edited by buniak_a_h on Wed 04 Dec, 2019 23:37, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by John Doe »

zg wrote: Fri 26 Oct, 2018 12:54
John Doe wrote: Fri 26 Oct, 2018 09:09Его можно получить из db, но имхо не стоит.
я может быть чего-то не понимаю:

Code: Select all

settings=far.CreateSettings "far"
history=settings\OpenSubkey far.Flags.FSSF_ROOT,"SearchText"
items=settings\Enum history
far.Show items[#items].Name
Я с осторожностью отношусь к этой части апи, поскольку напарывался на странное поведение, например тут https://bugs.farmanager.com/view.php?id=2940
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by zg »

вообще не связанные вещи.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by John Doe »

buniak_a_h wrote: Sat 27 Oct, 2018 04:48 добавлено far.FreeSettings;
1. Неправильно. Надо settings:Free()
2. В копипасте лишнее: far.Flags.FSSF_ROOT
3. Не учитывается случай, когда история пуста, и индексирование items[1] приведёт к ошибке
Last edited by John Doe on Mon 29 Oct, 2018 08:55, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h »

John Doe wrote: Mon 29 Oct, 2018 08:43 1. Неправильно. Надо settings:Free()
Согласен. Нашёл этот метод уже после того, как запостил
John Doe wrote: Mon 29 Oct, 2018 08:43 2. В копипасте лишнее: far.Flags.FSSF_ROOT
Это я не понял. Исходное брал из Поста zg
John Doe wrote: Mon 29 Oct, 2018 08:43 3. Не учитывается случай, когда история пуста, и индексирование items[1] приведёт к ошибке
1. Я где-то писал: если история выключена - надо пользоваться другим скриптом (с двумя Event-ами)
2. Если история включена, то хотя бы одно значение в истории будет.
3. В исходном (маленьком) скрипте было items[#items]; кто я, чтоб перепроверять гуру?
Но если строго, то (а) надо, конечно, проверять и (б) проверять настройку Far-а и динамически назначать либо один обработчик события (по истории), либо другой (с запоминанием искомой строки и использованием запомненной). Если б этот скрипт поставлялся "в широкие массы" - я бы так и сделал. Но маленький, работающий в конкретных условиях скриптик доводить до "товарного вида" не буду. Я вообще не рассчитывал потратить на него больше часа.
Если будете такого типа скрипт публиковать в "Полезные макросы и скрипты", то сможете всё это реализовать. А тут инициатор доволен, я этим больше не занимаюсь.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by John Doe »

buniak_a_h wrote: Mon 29 Oct, 2018 19:34 Это я не понял. Исходное брал из Поста zg
F.FSSF_ROOT
buniak_a_h wrote: Mon 29 Oct, 2018 19:34 кто я, чтоб перепроверять гуру?
Маленький скрипт был таким намеренно, для демонстрации сути.
И у себя вы уже навесили к нему ряд проверок. Одну пропустили.
buniak_a_h wrote: Mon 29 Oct, 2018 19:34 Но маленький, работающий в конкретных условиях скриптик доводить до "товарного вида" не буду
Я указал в каком месте в определённых (да, редких) обстоятельствах скрипт может упасть.
Внести малюсенькое исправление было бы быстрее, чем развёрнуто объяснять, почему это не нужно)
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h »

John Doe wrote: Tue 30 Oct, 2018 08:30 Я указал в каком месте в определённых (да, редких) обстоятельствах скрипт может упасть.
Внести малюсенькое исправление было бы быстрее, чем развёрнуто объяснять, почему это не нужно)
Извините, некогда было...
Attachments
AltF7.SearchStr.lua.7z
(755 Bytes) Downloaded 82 times
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h »

Господа администраторы!
Тема рождалась как пожелание к Far-у, но реализована макросом. довольно много скачиваний. Может быть имеет смысл перенести её в "обсуждение" (или даже в "полезные"), оставив только последний вариант скрипта, а в "хотелках" оставить только ссылку на ветку с решением? Или мне самому завести тему на "обсуждении"?
Я поясню. Т.к. тема не моя, то я не могу редактировать первое сообщение, содержащее сам скрипт. Поэтому чтобы найти последний вариант пришлось перечитать всю переписку (я и забыл, что тут так много…)
P/S. Для "полезных" скрипт, мпо-моему, не оформлен должным образом. Хотя что там оформлять…
Last edited by buniak_a_h on Wed 04 Dec, 2019 11:49, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by John Doe »

@buniak_a_h
Просьба поудалять ненужные вложения, и актуализировать шапку (и название темы)
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by Xerox »

buniak_a_h, Крута!! (закатывая глаза в восторге)
Скрипт работает натурально, эффективно, ничего другого не трогает, т.е. ведет себя идеально
buniak_a_h wrote: Fri 26 Oct, 2018 08:45 В процессе написания активно использую мой же макрос автодополнения, чтоб не запоминать имена всех флагов. А для него приходится писать сначала полное имя таблицы, в которой флаг хранится.
А где взять этот чудесный макрос?
Быстрый поиск по форуму дал непонятные или иррелевантные результаты
Last edited by Xerox on Wed 04 Dec, 2019 12:28, edited 3 times in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h »

Xerox wrote: Wed 04 Dec, 2019 12:17 А где взять этот чудесный макрос?
Тут. Только он такой старый, я бы теперь многое переделал бы … Чур не смеяться.
Post Reply

Return to “Обсуждение макросов”