Подскажите пожалуйста, как на lua создать обработчик события появления нового файла в обычной панели ФАРа?
Файл создаётся в определённой директории, например в директории, показанной на панели. Файл создаётся неким другим процессом. В идеале интересует обработчик появления файла с определённым расширением.
Как создать обработчик события появления нового файла в обычной панели ФАРа?
-
- Posts: 2
- Joined: Fri 29 Aug, 2014 11:59
- HaRT
- Moderator
- Posts: 10869
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Как создать обработчик события появления нового файла в обычной панели ФАРа?
Фар есть инструмент, а не нянька. © 2009 DrKnS
- buniak_a_h
- Posts: 4270
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Как создать обработчик события появления нового файла в обычной панели ФАРа?
Чем-то это мне напоминает «как сделать событие на смену папки панели». Лично я в древесной панели сделал назначением таймера (частотой Far.GetConfig("Interface.RedrawTimeout"). Типа запоминаете APanel.Path и список итемов по маске. Затем в обработчике таймера (если Path не поменялось) проверяете, не появилось ли нового итема. Если да - вызываете обработку события.ivan.bykov wrote: ↑Thu 03 Dec, 2020 16:01 как на lua создать обработчик события появления нового файла в обычной панели ФАРа?
Если кто-то знает другой способ - было бы интересно узнать
- HaRT
- Moderator
- Posts: 10869
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Как создать обработчик события появления нового файла в обычной панели ФАРа?
Ну, поскольку речь идёт про обычную файловую панель, можно применить способ, не специфичный для Фара, — повесить File System Watcher на директорию панели. Не знаю, насколько это просто сделать в Lua (через FFI?). Правда, чтобы его вовремя отключить, надо опять же по таймеру проверять, не сменилась ли в панели директория.buniak_a_h wrote: ↑Thu 03 Dec, 2020 17:22 Если кто-то знает другой способ - было бы интересно узнать
Фар есть инструмент, а не нянька. © 2009 DrKnS
- buniak_a_h
- Posts: 4270
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Как создать обработчик события появления нового файла в обычной панели ФАРа?
HaRT, я имел в виду средствами ФАРа и LUA.
К моей идее: возможно, имеет смысл проверять быстродействие (сетевой или плагиновой) папки. Если папка медленная - таймаут увеличивать.
К моей идее: возможно, имеет смысл проверять быстродействие (сетевой или плагиновой) папки. Если папка медленная - таймаут увеличивать.
Как создать обработчик события появления нового файла в обычной панели ФАРа?
Луа-ФФИ (ой сложнааа), или плагин (тоже сложна, но по другим причинам)
из "официалных" способов сделать плагин:
* паскалный плагин
* сишный плагин
Менее официальные, но вполне рабочие:
* дот-нетовский плагин ФарНет
* питоновский плагин от @Shmuel
* питоновский плагин от @DrKnS
ну или в цикле по таймеру проверять файлы (in Lua)
это не эффективно, да, но может быть спрашивателю тут и не нужна эффективность
из "официалных" способов сделать плагин:
* паскалный плагин
* сишный плагин
Менее официальные, но вполне рабочие:
* дот-нетовский плагин ФарНет
* питоновский плагин от @Shmuel
* питоновский плагин от @DrKnS
ну или в цикле по таймеру проверять файлы (in Lua)
это не эффективно, да, но может быть спрашивателю тут и не нужна эффективность