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

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

Latest post of the previous page:

gene.pavlovsky wrote: При отсутствии эвентов клавиатуры или мыши таймер проверяет панели раз в 5 секунд.
Перестраховка?
gene.pavlovsky wrote:Через 250 мс после последнего эвента панели проверяются. Если состояние изменилось - запускается второй таймер на 250 мс, если за это время не пришло новых эвентов, изменения коммитятся в localconfig.db.
А просто проверять (и сразу записывать) через 500 мс после последнего события не то же самое будет?

P.S.
Вместо sqlite можно попробовать far.exe /import
Last edited by John Doe on Thu 10 Nov, 2016 13:50, edited 1 time in total.
gene.pavlovsky
Posts: 173
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 13 times
Been thanked: 9 times
Contact:

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

Post by gene.pavlovsky »

John Doe wrote:Перестраховка?
Ага.
John Doe wrote:А просто проверять (и сразу записывать) через 500 мс после последнего события не то же самое будет?
Да, чёрт возьми, перемудрил я что-то :)


John Doe wrote:Вместо sqlite можно попробовать far.exe /import
Никогда этим не пользовался, и что ему давать на вход? И будет ли оно быстрее отрабатывать?
gene.pavlovsky
Posts: 173
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 13 times
Been thanked: 9 times
Contact:

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

Post by gene.pavlovsky »

Может быть перенести тему в рабочие макросы?
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 »

Никогда этим не пользовался, и что ему давать на вход? И будет ли оно быстрее отрабатывать?
На вход xml. Сделайте export, и посмотрите что именно (ещё не факт что в экспорте будет то что вам надо, я не проверял)
Быстрее вряд ли заработает, но зато не будет иметь зависимостей.
gene.pavlovsky
Posts: 173
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 13 times
Been thanked: 9 times
Contact:

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

Post by gene.pavlovsky »

В экспорте все конфиги. Но если всё лишнее убрать и оставить только <localconfig>, импорт работает нормально.
На скорую руку протестил
100x far -import - 2.85 s
100x sqlite3 - 2.43 s
Оставлю как есть. Если у кого нету sqlite3.exe, и принципиально не хочется ставить, могут доработать с far -import. Благо там всего навсего надо подменить ф-цию CommitPanelState()
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post by zg »

зачем такие сложные приседания с sqlite и far /import? чем far.CreateSettings не угодил?
John Doe wrote:Особенно если в Энциклопедии действительно будет сказано о недопустимости или нежелательности тех или иных действий.
я всё помню и вам не верю.
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: и вам не верю.
В чём?
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 »

Спрашиваю именно потому, что не процитировано ничего такого, чему можно "поверить" или "не поверить".

А если за пределами цитаты, то было вот:
John Doe wrote: Имхо, на багтрекере не так много подобных примеров, а те что всё-таки есть (и будут) не должно быть сложно закрыть, с соответствующей формулировкой.
Можно согласиться, или не согласиться, но и тут отсутствует что либо, что бы я предлагал принять на веру.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post by zg »

John Doe wrote: Спрашиваю именно потому, что не процитировано ничего такого, чему можно "поверить" или "не поверить".
как нет? вы утверждаете, что достаточно в энциклопедии запретить чем-то пользоваться и проблем не будет, не?
gene.pavlovsky
Posts: 173
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 13 times
Been thanked: 9 times
Contact:

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

Post by gene.pavlovsky »

zg wrote: зачем такие сложные приседания с sqlite и far /import? чем far.CreateSettings не угодил?
В фаре столько всего полезно зарыто, а найти непросто. Поэтому и спрашивал тут.
Пробую CreateSettings. Как пользоваться, если честно, непонятно. Документации кот наплакал.

Code: Select all

local dbg = require "dbgprint".filter("FAR:"," ")
local inspect = require "inspect"

Macro {
	area="Shell"; key="RCtrlT"; description="Debug test";
	action = function()
		local obj = far.CreateSettings('far')
		dbg.print(inspect(obj:Enum()))
		far.FreeSettings()
	end;
}
obj:Enum() возвращает nil. Какие ему параметры передавать?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post by zg »

gene.pavlovsky wrote:obj:Enum() возвращает nil. Какие ему параметры передавать?
надо настройки свои открывать, а не фаровские.
gene.pavlovsky
Posts: 173
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 13 times
Been thanked: 9 times
Contact:

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

Post by gene.pavlovsky »

zg wrote:надо настройки свои открывать, а не фаровские.
В смысле? Я хочу сохранить текущие диры и файлы на панелях в фаровский localconfig.
Last edited by gene.pavlovsky on Fri 11 Nov, 2016 02:07, edited 1 time in total.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post by zg »

в чём принципиальность сохранения именно в localconfig.db? чем, скажем, PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db принципиально хуже?
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: как нет? вы утверждаете, что достаточно в энциклопедии запретить чем-то пользоваться и проблем не будет, не?
Я утверждаю (1) некоторое количество некорректных тикетов на мантисе не создают проблем и (2) если что-то или невозможность чего-то описана в документации, то закрывать такие тикеты можно не тратя время на объяснения, стандартной формулировкой типа "см. документацию".

А так да, не каждый читает документацию, а из тех кто читает - не все верно интерпретируют. И чем больше возможностей предоставляет инструмент тем больше возможностей отстрелить себе ногу.
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: в чём принципиальность сохранения именно в localconfig.db? чем, скажем, PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db принципиально хуже?
Это возможно, если скрипт при старте фара будет самостоятельно восстанавливать нужные пути на панелях.
Post Reply

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