View Issue Details

IDProjectCategoryView StatusLast Update
0002172Far ManagerMacropublic2013-03-05 05:14
ReporterNightRoman Assigned Toshmuel  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0002172: Определиться с механизмом автостарта для макросов
DescriptionПомещаю в баги, а не виши, ибо это, по обсуждению на форуме, "должно быть". Словом, нужен оговоренный механизм, который при старте Фара в любом режиме (но с макросами, конечно) запускает Lua код пользователя, профиль, где пользователь настраивает среду для других своих макросов.

Существующие автостартующие макросы не решают задачу в общем случае, так как исторически такие макросы только для shell, а Фар может стартовать и без shell (ключи /e /v).
TagsNo tags attached.
Build3065

Activities

Aidar

2012-10-22 12:31

reporter   bugnote:0009624

Last edited: 2012-10-22 12:31

Предлагаю адаптировать механизм _usermenu.lua из плагина LuaFAR for Editor для реализации автостартующих макросов-скриптов:
- В каждом пакете будет свой автостартующий файл _usermenu.lua.
- Этот файл нужно будет подключать (вручную или автоматически - как определит пользователь) в основном _usermenu.lua в основной папке скриптов для макросов.

Пример из LuaFAR for Editor:
  AutoInstall("scripts/", "%_.+menu%.lua$", 1) -- Загрузка всех _*menu.lua
или
  AddUserFile('scripts/lfa_config/_usermenu.lua') -- LFA config menu
  AddUserFile("scripts/Rh_Scripts/_usermenu.lua") -- Rh_Scripts menu
  AddUserFile('scripts/fl_scripts/_usermenu.lua') -- farlua scripts menu

NightRoman

2012-10-22 16:34

reporter   bugnote:0009626

Объясните, при чем тут меню? Или это там меню, а предлагается только принцип перенять?

Aidar

2012-10-22 16:55

reporter   bugnote:0009627

Last edited: 2012-10-22 16:57

В плагине файл называется _usermenu.lua, т.к. служит в основном для добавления пунктов/подменю в меню, формируемое плагином.
Например, в scripts\Rh_Scripts\_usermenu.lua добавляются подменю:
AddToMenu("c", "&Rh_Scripts package", nil, "scripts\\Rh_Scripts\\Common\\rhsConfig")
AddToMenu("evpc", ":sep:User Menus")
AddToMenu("e", "LU&M for Editor", nil, "scripts\\Rh_Scripts\\LuaEUM\\LuaEUM") -- 1
AddToMenu("p", "LU&M for Panels", nil, "scripts\\Rh_Scripts\\LuaPUM\\LuaPUM") -- 2
AddToMenu("e", nil, "Ctrl+Shift+H", "scripts\\Rh_Scripts\\LuaEUM\\LuaEUM", "Characters") -- 3
и вешаются обработчики событий для редактора:
MakeResident("scripts\\Rh_Scripts\\Editor\\AutoActions") -- Auto Actions

Для автостартующих макросов название можно выбрать другим.
Но если реализовать аналогично плагину, можно будет "вешать" комбинации клавиш на пункты меню и на действия, задаваемые в скриптах (пример 3). Можно даже повесить макрос на нажатие клавиш, приводящее к выбору пункта меню, разного в основных областях (примеры 1 и 2). Тогда и название можно оставить.

SUSim

2012-12-01 18:02

reporter   bugnote:0009787

Last edited: 2012-12-01 18:03

Для начала допилите FAR, плиз, чтобы автостартующие макросы стартовали и при far /e и при far /v. Сейчас автостарт обрабатывается только при появлении панелей, и стартуют только макросы помещённые в область Shell. Предлагаю чтобы автостартующие макросы из области Common стартовали бы всегда!
macro area="Common" key="Auto load" flags="RunAfterFARStart" должен запускаться всегда при запуске FAR не зависимо от ключей /e /v ...

NightRoman

2012-12-11 05:26

reporter   bugnote:0009806

В билде 3003 этот тикет еще актуален или можно просто стартующий код помещать в макрофайлы "без Macro обертки", так сказать?

2useven10

2012-12-11 06:04

developer   bugnote:0009807

логичнее было бы использовать, например, Macros/init (+порядок загрузки)

shmuel

2012-12-11 09:49

developer   bugnote:0009809

> В билде 3003 этот тикет еще актуален или можно просто стартующий код помещать в макрофайлы "без Macro обертки", так сказать?

Во время загрузки макрофайл не имеет доступа к глобальным переменным (сознательное решение), поэтому тикет ещё актуален.

shmuel

2013-03-04 20:46

developer   bugnote:0010443

Last edited: 2013-03-04 21:07

NightRoman, начиная примерно с билда 3065, были сняты ограничения при загрузке макрофайлов. Решает ли это для вас данную проблему?

NightRoman

2013-03-05 03:25

reporter   bugnote:0010448

Думаю, да. Практически еще не тестировал, руки не доходят. Но тикет можно закрывать. Если что-то не так, то можно уже новый конкретный открыть будет.

Issue History

Date Modified Username Field Change
2012-10-22 00:26 NightRoman New Issue
2012-10-22 12:31 Aidar Note Added: 0009624
2012-10-22 12:31 Aidar Note Edited: 0009624
2012-10-22 16:34 NightRoman Note Added: 0009626
2012-10-22 16:55 Aidar Note Added: 0009627
2012-10-22 16:56 Aidar Note Edited: 0009627
2012-10-22 16:56 Aidar Note Edited: 0009627
2012-10-22 16:57 Aidar Note Edited: 0009627
2012-12-01 18:02 SUSim Note Added: 0009787
2012-12-01 18:03 SUSim Note Edited: 0009787
2012-12-11 05:26 NightRoman Note Added: 0009806
2012-12-11 06:04 2useven10 Note Added: 0009807
2012-12-11 09:49 shmuel Note Added: 0009809
2013-03-04 20:46 shmuel Note Added: 0010443
2013-03-04 21:07 shmuel Note Edited: 0010443
2013-03-05 03:25 NightRoman Note Added: 0010448
2013-03-05 03:25 NightRoman Status new => resolved
2013-03-05 05:14 shmuel Build => 3065
2013-03-05 05:14 shmuel Status resolved => closed
2013-03-05 05:14 shmuel Assigned To => shmuel
2013-03-05 05:14 shmuel Resolution open => fixed
2013-03-05 05:14 shmuel Fixed in Version => 3.0