Запуск макроса по событию смены директории

Здесь обсуждается всё, что касается макросов.
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:

zg wrote: в чём принципиальность сохранения именно в localconfig.db? чем, скажем, PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db принципиально хуже?
Это возможно, если скрипт при старте фара будет самостоятельно восстанавливать нужные пути на панелях.
gene.pavlovsky
Posts: 170
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 11 times
Been thanked: 9 times
Contact:

Запуск макроса по событию смены директории

Post by gene.pavlovsky »

John Doe wrote:
zg wrote: в чём принципиальность сохранения именно в localconfig.db? чем, скажем, PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db принципиально хуже?
Это возможно, если скрипт при старте фара будет самостоятельно восстанавливать нужные пути на панелях.
Именно так. Написать подобный скрипт не проблема, но как этот скрипт узнает, что при явном запуске `Far.exe dir1 dir2` не надо восстанавливать состояние из конфига? При текущем решении с localconfig-ом это работает автоматически.
gene.pavlovsky
Posts: 170
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 11 times
Been thanked: 9 times
Contact:

Запуск макроса по событию смены директории

Post by gene.pavlovsky »

John Doe wrote:И чем больше возможностей предоставляет инструмент тем больше возможностей отстрелить себе ногу.
Абсолютно с этим согласен. Не раз слышал (в нескольких проектах) "мы эту фичу делать не будем, т.к. переживаем, что юзеры отстрелят себе ногу" - тогда как уже есть средства отстрелить себе всё туловище.
Last edited by gene.pavlovsky on Fri 11 Nov, 2016 11:22, 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:

Запуск макроса по событию смены директории

Post by John Doe »

gene.pavlovsky wrote: но как этот скрипт узнает, что при явном запуске `Far.exe dir1 dir2` не надо восстанавливать состояние из конфига?
Скрипт может работать (например) только если far.exe запущен без параметров.
Или наоборот, работать только если задан определённый параметр.
(просто идеи, в порядке мозгового штурма)
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Запуск макроса по событию смены директории

Post by zg »

John Doe wrote:Я утверждаю (1) некоторое количество некорректных тикетов на мантисе не создают проблем и (2) если что-то или невозможность чего-то описана в документации, то закрывать такие тикеты можно не тратя время на объяснения, стандартной формулировкой типа "см. документацию".
про выход из редактора/просмотра я уже постил. вашу позицию про EE_REDRAW vs EE_READ я тоже прекрасно помню. ваши навязчивые переоткрытия псевдобагов про altgr я тоже не забыл. и вы там, если я помню, очень хотели объяснений, я на них тратил время и силы, а они вас не устраивали. или всё что вы написали — это для других и себя вы к ним не относите.
про какие некорректные тикеты вы говорите, я не понял. тот что приводил я, он вполне корректен. он как раз показывает очень хорошо (по крайней мере мне), что нельзя лепить бездумно внешние интерфейсы на реализацию состоящую из костылей чуть менее, чем полностью.
John Doe wrote:Это возможно, если скрипт при старте фара будет самостоятельно восстанавливать нужные пути на панелях.
это единственно правильный подход.
gene.pavlovsky wrote:Абсолютно с этим согласен. Не раз слышал (в нескольких проектах) "мы эту фичу делать не будем, т.к. переживаем, что юзеры отстрелят себе ногу" - тогда как уже есть средства отстрелить себе всё туловище.
если юзер стреляет себе в ногу где-то там тихо, то пожалуйста. но у нас есть богатый опыт, когда юзеры начали вопить, верните как раньше было. на форуме и на трекере. агрессивно.
gene.pavlovsky
Posts: 170
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 11 times
Been thanked: 9 times
Contact:

Запуск макроса по событию смены директории

Post by gene.pavlovsky »

John Doe wrote:Скрипт может работать (например) только если far.exe запущен без параметров.
Или наоборот, работать только если задан определённый параметр.
(просто идеи, в порядке мозгового штурма)
Ну это первая моя мысль была, но как узнать из макроса, с какими параметрами запущен фар? Я, как всегда, не сумел найти в мануалах ничего на эту тему (то ли я тупой, то ли мануалы такие, то ли поиск в hh.exe такой "замечательный"). Хорошо б все мануалы свести в один, в html формате.
gene.pavlovsky
Posts: 170
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 11 times
Been thanked: 9 times
Contact:

Запуск макроса по событию смены директории

Post by gene.pavlovsky »

zg wrote:если юзер стреляет себе в ногу где-то там тихо, то пожалуйста. но у нас есть богатый опыт, когда юзеры начали вопить, верните как раньше было. на форуме и на трекере. агрессивно.
Я вас понимаю. Юзеры они на то и юзеры. Разработчики частенько делают то, что им самим кажется правильным. Полагаю, если бы вам самим нужна была эта фича и казалась бы хорошей, наверно она уже была бы :)
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 »

gene.pavlovsky wrote: но как узнать из макроса, с какими параметрами запущен фар?
Это в MSDN, и применять через ffi.
Обратный подход в реализации проще: если скрипт определит префикс, то его можно будет запустить указав в командной строке фара.
gene.pavlovsky
Posts: 170
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 11 times
Been thanked: 9 times
Contact:

Запуск макроса по событию смены директории

Post by gene.pavlovsky »

John Doe wrote:Обратный подход в реализации проще: если скрипт определит префикс, то его можно будет запустить указав в командной строке фара.
Уж на сколько интересно будет рано или поздно овладеть всеми возможностями макросов в Фаре, сейчас я уже что-то подустал от новой информации. Больно много приходится с этим копаться, да и вас напрягать вопросами. Текущий вариант вполне рабочий, и ладно. Улучшать можно до опупения...
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Макрос на событие смены директории

Post by citRiks »

(citRix) Запуск макроса по событию смены директории
viewtopic.php?f=15&t=12437
Last edited by John Doe on Mon 27 Dec, 2021 13:23, edited 3 times in total.
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 »

plastikat, поддерживаю citRiks-а. Сейчас этот скрипт, похоже, доведён до товарного состояния, пригодного для использования непричастными юзерами. Рекомендую.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Макрос на событие смены директории

Post by HaRT »

changelog wrote:
zg 2023-02-21 20:49:15+02:00 - build 6104 1. experimental: new event SE_FOLDERCHANGED, sent when changing the current directory in panels.
zg, в момент вызова обработчиков этого события директория на панели (если спрашивать через API плагинов/макросов) уже новая или ещё старая? Если я правильно понимаю, для практических нужд чаще нужна новая; хотя, вероятно, в каких-то сценариях нужна и старая. Т.ч. идеально как-то знать обе.

Будет ли это событие вызываться, если просто перейти с одной панели на другую, когда в них разные директории?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Запуск макроса по событию смены директории

Post by zg »

HaRT. новая. будет, даже если одинаковые.
gotar
Posts: 412
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Запуск макроса по событию смены директории

Post by gotar »

А можно попросить пример макроса, использующего это событие. Например, загрузить макросы из текущей директории.
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 »

gotar wrote: Wed 22 Feb, 2023 18:03 А можно попросить пример макроса, использующего это событие
Да-да-да! В какой группе ивентов обрабатывается это событие? Логично было бы предположить, что в PanelEvent, но там все имена событий начинаются на FE_…. Или для обработки события в макросе надо дописать что-то в LuaFAR?
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Запуск макроса по событию смены директории

Post by Yegor »

buniak_a_h wrote: Wed 22 Feb, 2023 19:18 Логично было бы предположить, что в PanelEvent
Это SynchroEvent (SE_FOLDERCHANGED) via ProcessSynchroEvent().
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Post Reply

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