SmartMenuFilter — макросы для фильтров меню/списков

Здесь выкладываются готовые к использованию макросы и скрипты.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by LAT »

Latest post of the previous page:

Я попробовал в SmartMenuFilter.lua после Menu.Filter(lock,1) (строка 54) добавить Menu.Filter(4) ("подправить высоту списка под количество элементов"). Вроде бы стало выглядеть красивше - пустые строки не отображаются. Может, имеет смысл добавить это в оригинальный скрипт? Или пустые строки сделаны специально - чтобы визуально было заметно, что установлен фильтр?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

SmartMenuFilter — макросы для фильтров меню/списков

Post by John Doe »

LAT wrote: Mon 13 Jan, 2020 21:19 Вроде бы стало выглядеть красивше - пустые строки не отображаются.
В процессе фильтрации количество меню уменьшается, и если мы будем подправлять его высоту, то в результате само положение меню будет вынужено измениться, чтобы вновь оказаться в центре экрана.
Как по мне, то получится очень неудобно.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by HaRT »

Использую скрипт MenuAutoFilter.lua из архива в шапке. В меню всё работает ожидаемо, а вот в диалоге far:config при переключении фильтрации по CtrlAltF не возникает характерное сообщение auto filter on/off (в двойной рамочке), и, соответственно, режим фильтрации не сохраняется. Но ведь в шапке заявлена поддержка диалога far:config. Это у меня одного не работает?
Far Manager, version 3.0.5718.0 x86, без прочих плагинов и макросов.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

SmartMenuFilter — макросы для фильтров меню/списков

Post by John Doe »

HaRT wrote: Thu 21 Jan, 2021 15:56 Это у меня одного не работает?
Это что-то в фаре поменялось, посмотрю при случае.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by Shmuel »

John Doe wrote: Thu 21 Jan, 2021 16:59 Это что-то в фаре поменялось

Code: Select all

╔═ Bisect Far builds ══╗
║ Far 3.0.5498 is good ║
║ Far 3.0.5500 is bad  ║
╟──────────────────────╢
║   { OK } [ Copy ]    ║
╚══════════════════════╝
P.S. Скачал и проверил 5499, результат = "good". Следовательно, сломалось в 5500.
Last edited by Shmuel on Thu 21 Jan, 2021 17:50, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

SmartMenuFilter — макросы для фильтров меню/списков

Post by John Doe »

Shmuel wrote: Thu 21 Jan, 2021 17:21 Bisect Far builds
Магия!
Как вы это делаете?
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by Shmuel »

John Doe, спасибо за комплимент. Магии, конечно нет, есть скрипт и есть большая коллекция скачанных за многие годы билдов Фара. Скрипт получает из диалога (или другого скрипта) исходные данные, затем по очереди распаковывает и запускает билды Фара. В автоматическом режиме (не всегда удаётся) решение о том, был ли билд хорошим или плохим принимает сам скрипт. В обычном режиме решение принимает человек после проверки.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

SmartMenuFilter — макросы для фильтров меню/списков

Post by John Doe »

Чрезвычайно полезный скрипт для таких случаев, было бы здорово если бы вы им поделились.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by Shmuel »

John Doe wrote: Thu 21 Jan, 2021 18:55 Чрезвычайно полезный скрипт для таких случаев, было бы здорово если бы вы им поделились.
Публиковать скрипты/плагины я прекратил - нет времени на поддержку.
Данный скрипт сильно "заточен" на меня (структуры директорий, набор плагинов и т.д)
Вам, без сомнения, по силам написать подобный скрипт.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

SmartMenuFilter — макросы для фильтров меню/списков

Post by John Doe »

Shmuel wrote: Thu 21 Jan, 2021 19:19 Вам, без сомнения, по силам написать подобный скрипт
По силам - возможно, но писать я его в обозримом будущем точно не буду. А готовый на одном любопытстве приспособил бы (несмотря на заточенность).
Shmuel wrote: Thu 21 Jan, 2021 19:19 Публиковать скрипты/плагины я прекратил - нет времени на поддержку.
Многие вещи полезны и как есть, без всякой поддержки.

Но как бы там ни было, позицию вашу принимаю.
https://t.me/FarManager — Telegram чат
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by Ann »

Shmuel,
John Doe wrote: Thu 21 Jan, 2021 19:44
Shmuel wrote: Thu 21 Jan, 2021 19:19 Публиковать скрипты/плагины я прекратил - нет времени на поддержку.
Многие вещи полезны и как есть, без всякой поддержки.
Очень приветствую данный тезис. Самокритика и критика постепенно утопнут в Лете, а творческая суть, заложенная в достигнутом Вами результате, даст добротный импульс к расцвету вдохновения последователей. Кроме прочего, где-то на этом форуме или на руборде читал, что у Вас есть несколько макросов для редактора Фара. Выкройте, пожалуйста, всё же немного времени для обнародования Вашего скриптового наследия "как есть". Убеждён, что форумчане помогут сообща разобраться, если вдруг что.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by Shmuel »

Ann, спасибо за высокую оценку моего скромного труда :)
Тем не менее, есть определённые минимальные стандарты публикации, и привести программу к этим стандартам требует времени.
Ну и кроме того, принято решение, и на решение есть причины.
Что касается моих скриптов или плагинов для редактора и прочих - практически всё выложено: на форуме, на гитхабе, на плагринге.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

SmartMenuFilter — макросы для фильтров меню/списков

Post by John Doe »

John Doe wrote: Thu 21 Jan, 2021 16:59 Это что-то в фаре поменялось, посмотрю при случае.
После рефакторинга в 5500 значение Menu.Id полученное вне меню стало строковым значением - "".
Фикс такой:

Code: Select all

--- MenuAutoFilter2.old
+++ MenuAutoFilter2.lua
@@ -39,7 +39,8 @@
 ----
 local function getListId()
   local noid = "00000000-0000-0000-0000-000000000000"
-  local id = Menu.Id or Dlg.ItemType==F.DI_LISTBOX and Dlg.Id
+  local id = Area.Menu and Menu.Id or
+             Dlg.ItemType==F.DI_LISTBOX and Dlg.Id
   id = id==noid and Object.Title or id --??+Dlg.Owner
   return id~="" and id
          or Area.MainMenu and "MAINMENU"
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by Shmuel »

John Doe wrote: Fri 22 Jan, 2021 10:33 После рефакторинга в 5500 значение Menu.Id полученное вне меню стало строковым значением - "".
Это любопытно. Проверка показала, что Menu.Id вне меню уже было пустой строкой (ещё до Lua), а стало nil только в одном из билдов диапазона [4693-4695]. Так что, можно сказать, вернулось в исходное состояние.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

SmartMenuFilter — макросы для фильтров меню/списков

Post by HaRT »

John Doe wrote: Fri 22 Jan, 2021 10:33Фикс такой:
Теперь работает, спасибо!

И предложение–пожелание: сохранять не только факт включённого фильтра, но и то, какой был фильтр в прошлый раз. Но по умолчанию этот фильтр не выставлять, а применять его только по нажатию, скажем, Backspace при пустом поле фильтра (аналогично AltHistory). Сценарий использования такой: экспериментирую с некой настройкой, пытаясь добиться желаемого поведения; для этого придаю ей разные значения и проверяю поведение — приходится каждый раз, открывая конфигурацию, вводить заново тот же самый фильтр. Тут бы и помогло восстановление запомненного прошлого значения.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

SmartMenuFilter — макросы для фильтров меню/списков

Post by John Doe »

Возьму на заметку.
Однако для вашего случая ещё удобнее было бы запоминать позицию в списке, безо всяких фильтров.
https://t.me/FarManager — Telegram чат
Post Reply

Return to “Полезные макросы и скрипты”