Page 2 of 3
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Mon 13 Jan, 2020 21:19
by LAT
Latest post of the previous page:
Я попробовал в SmartMenuFilter.lua после Menu.Filter(lock,1) (строка 54) добавить Menu.Filter(4) ("подправить высоту списка под количество элементов"). Вроде бы стало выглядеть красивше - пустые строки не отображаются. Может, имеет смысл добавить это в оригинальный скрипт? Или пустые строки сделаны специально - чтобы визуально было заметно, что установлен фильтр?
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Tue 14 Jan, 2020 09:17
by John Doe
LAT wrote: ↑Mon 13 Jan, 2020 21:19
Вроде бы стало выглядеть красивше - пустые строки не отображаются.
В процессе фильтрации количество меню уменьшается, и если мы будем подправлять его высоту, то в результате само положение меню будет вынужено измениться, чтобы вновь оказаться в центре экрана.
Как по мне, то получится очень неудобно.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Thu 21 Jan, 2021 15:56
by HaRT
Использую скрипт MenuAutoFilter.lua
из архива в шапке. В меню всё работает ожидаемо, а вот в диалоге far:config
при переключении фильтрации по CtrlAltF
не возникает характерное сообщение auto filter on/off
(в двойной рамочке), и, соответственно, режим фильтрации не сохраняется. Но ведь в шапке заявлена поддержка диалога far:config
. Это у меня одного не работает?
Far Manager, version 3.0.5718.0 x86, без прочих плагинов и макросов.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Thu 21 Jan, 2021 16:59
by John Doe
HaRT wrote: ↑Thu 21 Jan, 2021 15:56
Это у меня одного не работает?
Это что-то в фаре поменялось, посмотрю при случае.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Thu 21 Jan, 2021 17:21
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.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Thu 21 Jan, 2021 18:27
by John Doe
Shmuel wrote: ↑Thu 21 Jan, 2021 17:21
Bisect Far builds
Магия!
Как вы это делаете?
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Thu 21 Jan, 2021 18:37
by Shmuel
John Doe, спасибо за комплимент. Магии, конечно нет, есть скрипт и есть большая коллекция скачанных за многие годы билдов Фара. Скрипт получает из диалога (или другого скрипта) исходные данные, затем по очереди распаковывает и запускает билды Фара. В автоматическом режиме (не всегда удаётся) решение о том, был ли билд хорошим или плохим принимает сам скрипт. В обычном режиме решение принимает человек после проверки.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Thu 21 Jan, 2021 18:55
by John Doe
Чрезвычайно полезный скрипт для таких случаев, было бы здорово если бы вы им поделились.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Thu 21 Jan, 2021 19:19
by Shmuel
John Doe wrote: ↑Thu 21 Jan, 2021 18:55
Чрезвычайно полезный скрипт для таких случаев, было бы здорово если бы вы им поделились.
Публиковать скрипты/плагины я прекратил - нет времени на поддержку.
Данный скрипт сильно "заточен" на меня (структуры директорий, набор плагинов и т.д)
Вам, без сомнения, по силам написать подобный скрипт.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Thu 21 Jan, 2021 19:44
by John Doe
Shmuel wrote: ↑Thu 21 Jan, 2021 19:19
Вам, без сомнения, по силам написать подобный скрипт
По силам - возможно, но писать я его в обозримом будущем точно не буду. А готовый на одном любопытстве приспособил бы (несмотря на заточенность).
Shmuel wrote: ↑Thu 21 Jan, 2021 19:19
Публиковать скрипты/плагины я прекратил - нет времени на поддержку.
Многие вещи полезны и как есть, без всякой поддержки.
Но как бы там ни было, позицию вашу принимаю.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Fri 22 Jan, 2021 05:28
by Ann
Shmuel,
John Doe wrote: ↑Thu 21 Jan, 2021 19:44
Shmuel wrote: ↑Thu 21 Jan, 2021 19:19
Публиковать скрипты/плагины я прекратил - нет времени на поддержку.
Многие вещи полезны и как есть, без всякой поддержки.
Очень приветствую данный тезис. Самокритика и критика постепенно утопнут в Лете, а творческая суть, заложенная в достигнутом Вами результате, даст добротный импульс к расцвету вдохновения последователей. Кроме прочего, где-то на этом форуме или на руборде читал, что у Вас есть несколько макросов для редактора Фара. Выкройте, пожалуйста, всё же немного времени для обнародования Вашего скриптового наследия "как есть". Убеждён, что форумчане помогут сообща разобраться, если вдруг что.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Fri 22 Jan, 2021 08:39
by Shmuel
Ann, спасибо за высокую оценку моего скромного труда
Тем не менее, есть определённые минимальные стандарты публикации, и привести программу к этим стандартам требует времени.
Ну и кроме того, принято решение, и на решение есть причины.
Что касается моих скриптов или плагинов для редактора и прочих - практически всё выложено: на форуме, на гитхабе, на плагринге.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Fri 22 Jan, 2021 10:33
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"
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Fri 22 Jan, 2021 13:02
by Shmuel
John Doe wrote: ↑Fri 22 Jan, 2021 10:33
После рефакторинга в 5500 значение Menu.Id полученное вне меню стало строковым значением - "".
Это любопытно. Проверка показала, что Menu.Id вне меню уже было пустой строкой (ещё до Lua), а стало nil только в одном из билдов диапазона [4693-4695]. Так что, можно сказать, вернулось в исходное состояние.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Fri 22 Jan, 2021 13:21
by HaRT
John Doe wrote: ↑Fri 22 Jan, 2021 10:33Фикс такой:
Теперь работает, спасибо!
И предложение–пожелание: сохранять не только факт включённого фильтра, но и то,
какой был фильтр в прошлый раз. Но по умолчанию этот фильтр не выставлять, а применять его только по нажатию, скажем,
Backspace
при пустом поле фильтра (аналогично
AltHistory). Сценарий использования такой: экспериментирую с некой настройкой, пытаясь добиться желаемого поведения; для этого придаю ей разные значения и проверяю поведение — приходится каждый раз, открывая конфигурацию, вводить заново тот же самый фильтр. Тут бы и помогло восстановление запомненного прошлого значения.
SmartMenuFilter — макросы для фильтров меню/списков
Posted: Fri 22 Jan, 2021 13:40
by John Doe
Возьму на заметку.
Однако для вашего случая ещё удобнее было бы запоминать позицию в списке, безо всяких фильтров.