LuaTmpPanel plugin и его (ограниченная) поддержка

Место, где разработчики плагинов могут поделиться своим опытом.
citRiks
Posts: 462
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 136 times
Been thanked: 41 times

LuaTmpPanel plugin и его (ограниченная) поддержка

Post by citRiks »

LuaTmpPanel plugin и его (ограниченная) поддержка.
Тема смежная с другими DLL-зависимыми Lua plugins.
Плагин создан в DLL-зависимoм формате, но весь работающий код находится в модулях Lua,
что облегчает кастомизацию и служит образовательным интересам.
Плагин повторяет собой функциональность нативной ВременнойПанели.

Собранный готовый к использованию актуальный на данный момент плагин-пакет:
viewtopic.php?p=159021#p159021
Этот архив извлечь в %FARHOME%\Plugins, например в папку LuaTmpPan
Внутри есть DLL х32+х64, справка, код Lua.

GitHub каталог (master) с исходниками LuaTmpPanel и другими DLL-зависимыми Lua plugins:
https://github.com/shmuz/far_plugins/tr ... ar_plugins
Могут быть обновления

Репорты и кэйсы приветствуются, но быстрой помощи, и вообще помощи не гарантируется.
Впрочем, ничего вообще не гарантируется, так как проект демонстрационный, а время не бесконечно
Зато есть огромное пространство для Вашего, дорогой читатель, творчества!



Раздел Known Issues
1.) Есть вероятность жестокого вылета если:
(+) B %FARPROFILE%\luafar_init.lua есть обращение к панельным API, например Get\SetUserScreen()
(+) FAR исполняется с параметром -E или -V, т.е. как редактор или просмотрщик файлов
Статус: починено в предоставленном в этой теме пакете плагина
Обьяснение явлению:
Как далее обьяснил и предложил @DrKns,
просто не надо использовать панельные АПИ в luafar_init.lua,
тем более что на этапе загрузки luafar_init.lua панелей и не должно быть
2.) ? coming soon :-D

Бонус от @XeR0X:
Как эффективно запускать ФАР с чистым новым временным профайлом:
viewtopic.php?p=159007#p159007
Полезно для диагностики. Автоматизирует, избавляет от ручных манипуляций и неизбежных при этом ошибок
Last edited by citRiks on Mon 17 Feb, 2020 20:04, edited 19 times in total.

Shmuel
Posts: 6066
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 299 times

Хочу поучиться.

Post by Shmuel »

Для образовательных целей это не лучший выбор. Это не самый простой плагин. То, что вы видите в его папке, это малая его часть, а основная - модуль far_plugins\lua_share\far2\tmppanel.lua.

У вас есть плагин macropanel с длл-ками, он значительно проще.
Но если всё-таки хотите DLL для lftmppanel - возьмите luamacro.dll и переименуйте в lftmppanel.dll. Только учтите, я не даю пояснений по коду своих плагинов, у меня на это нет времени.

Shmuel
Posts: 6066
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 299 times

Хочу поучиться.

Post by Shmuel »

Shmuel wrote:
Thu 06 Feb, 2020 20:08
Только учтите, я не даю пояснений по коду своих плагинов, у меня на это нет времени.
Просьба только не воспринимать это в личном плане, это моя давнишняя позиция.

citRiks
Posts: 462
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 136 times
Been thanked: 41 times

Хочу поучиться.

Post by citRiks »

Shmuel,
Спасибо, и приветствую
Что-то пока плагин не детектится в меню плагинов и нигде..?
Подозреваю что дело в этом:

Code: Select all

..
local tp = Require "far2.tmppanel"
  _Plugin.tmppanel = _Plugin.tmppanel or tp
..
Если так, то где брать эти requires и куда их класть?

FAR version 3.0.0.5552 x64
Last edited by citRiks on Fri 14 Feb, 2020 21:13, edited 1 time in total.

Shmuel
Posts: 6066
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 299 times

Хочу поучиться.

Post by Shmuel »

Для упрощения, приложен плагин. DLL добавите сами, её имя должно быть lftmppanel.dll
--
lftmppanel.7z
(24.26 KiB) Downloaded 11 times
Last edited by Shmuel on Fri 14 Feb, 2020 21:54, edited 1 time in total.

User avatar
HaRT
Moderator
Posts: 9328
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 99 times
Been thanked: 212 times

Хочу поучиться.

Post by HaRT »

citRiks, а вы действительно хотите именно переделать имеющийся плагин? В качестве обучающей задачи, имеющей ещё и практическую пользу, можно было бы реализовать вот это пожелание как панель, отображающую обычную файловую систему, но без флажка «настоящие файлы». Тогда ТС получил бы как раз то, что просит.
Фар есть инструмент, а не нянька. © 2009 DrKnS

citRiks
Posts: 462
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 136 times
Been thanked: 41 times

Хочу поучиться.

Post by citRiks »

Shmuel,
Можно ли получить пояснение,
где задать перехаватывать или не перехватывать результаты поиска файлов?
Там в результатах ппоиска где мы нажимаем "Панель"

citRiks
Posts: 462
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 136 times
Been thanked: 41 times

Хочу поучиться.

Post by citRiks »

HaRT

Shmuel
Posts: 6066
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 299 times

Хочу поучиться.

Post by Shmuel »

citRiks wrote:
Sat 15 Feb, 2020 02:22
где задать перехаватывать или не перехватывать результаты поиска файлов?
Такой настройки в плагине на данный момент нет. Но можно применить действия (1) или (2).

1. Параметры-> Параметры менеджера плагинов -> [x] Результаты поиска
В этом случае будет меню выбора плагина.

2. Если вы хотите, чтобы lftmppanel никогда не обрабатывал результаты поиска, переименуйте файлы lftmppanel.* так, чтобы имя при алфавитном сравнении было > TmpPanel.dll.

citRiks
Posts: 462
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 136 times
Been thanked: 41 times

Хочу поучиться.

Post by citRiks »

Shmuel,
Спасибо, круто получилось!
пока мой академический интерес к ЛуаТемпПанели себя вполне оправдывает :)
И есть еще вылет Вашей панели, (Не Ваш) судя по всему, на датах которые меньше 2000-го:

На датах файлов больших 2000-го вылета нет,
но я подозреваю что где-то тихо происходит неправильное преобразование даты
Помню что вы чинить не собираетесь, отмечаю лишь для справки :)
проблема оказалась в том что влазит альтернативный панельный луа-скрипт (viewtopic.php?f=60&t=11605),
в том числе и когда его HE выбираем для отображения результатов поиска
Last edited by citRiks on Sat 15 Feb, 2020 09:44, edited 5 times in total.

Shmuel
Posts: 6066
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 299 times

Хочу поучиться.

Post by Shmuel »

citRiks wrote:
Sat 15 Feb, 2020 09:16
И есть еще вылет Вашей панели, судя по всему, на датах которые меньше 2000-го:
Так это вроде вылет какого-то макроса, а не моего плагина.

citRiks
Posts: 462
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 136 times
Been thanked: 41 times

Хочу поучиться.

Post by citRiks »

Shmuel,
Ой, и точно. звиняюсь
У меня установлен такой экпериментальный ЛуаПанельПлагин: viewtopic.php?f=60&t=11605
Но я-то его не выбираю в "выборе плагина для отображнения результатов",
а он все равно влезает каким-то образом, хотя и не отображается,
панель результатов получается чисто ваша

User avatar
John Doe
Бюрократ
Posts: 12722
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 279 times

Хочу поучиться.

Post by John Doe »

Shmuel wrote:
Sat 15 Feb, 2020 08:34
1. Параметры-> Параметры менеджера плагинов -> [x] Результаты поиска
В этом случае будет меню выбора плагина.
Постоянно включенным это будет напрягать.
А если оперативно - то очень далеко тянуться.
Вот бы реализовать активацию этой функции макрокомандой...
https://t.me/FarManager — Telegram чат

citRiks
Posts: 462
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 136 times
Been thanked: 41 times

Хочу поучиться.

Post by citRiks »

John Doe,
Т.е., то что вы предлагаете:
на диалоге результатов, (но еще не в панели результатов), нажимаем некое key-sequence,
и получем результаты в ЛуаТмпПанели?
Тоже об этом думал, но мало чего придумал, надо копать, когда докопаю - не знаю
Впрочем и сейчас, надо всего лишь нажать одну лишню клавишу в выборе
В выборе сейчас три пункта:
* Шмуэлевский Луа-Тмп-Плагин этот
* Тот Игоря ЛуаПлагин (который падает)
* Штатный ТмпПанель плагин
И если честно, меня пока радует что есть выбор :)

citRiks
Posts: 462
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 136 times
Been thanked: 41 times

Хочу поучиться.

Post by citRiks »

Отмечу еще вот что, LuaOnlyTmpPanel@IgorZ (назовем его так) ведет себя плохо в такой ситуации:

1.) Делаем на нем QuickView
2.) Двигаем размер панелей по Ctrl-<Left/Right>, или вручную, или макросом вроде этого: viewtopic.php?f=15&t=8710
3.) Получаем очень медленную реакцию, нa секунд 5-10, особенно заметную при использовании макроса,
но вполне заметную и ручным способом тоже

А вот в этом LuaDLLTmpPanel@ShmuZ (назовем его так) таких тормозов нет,
все происходит мгновенно, как и в нативной панели

И вот интересно, с чем это связано?
варианты могут быть такие:
* Сам Lua-Only плагин (или правильнее называть "модуль"?) кривовато написан (неэффективный код?)
* Сама природа Lua-Only плагинов подтормаживает? (в сравнении с Lua+DLL подходом)
* Какая-то другая причина?

LuaOnlyTmpPanel@IgorZ здесь: viewtopic.php?f=60&t=11605,
но требует патчей которые на последней (6-й) странице
(пока не интегрированы в заголовочный скрипт-модуль)
Last edited by citRiks on Sat 15 Feb, 2020 10:48, edited 7 times in total.

Post Reply

Return to “Разработка плагинов”