View Issue Details

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

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

Activities

Aidar

2012-10-22 15:31

reporter   bugnote:0009624

Last edited: 2012-10-22 15:31

View 2 revisions

Предлагаю адаптировать механизм _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 19:34

reporter   bugnote:0009626

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

Aidar

2012-10-22 19:55

reporter   bugnote:0009627

Last edited: 2012-10-22 19:57

View 4 revisions

В плагине файл называется _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 22:02

reporter   bugnote:0009787

Last edited: 2012-12-01 22:03

View 2 revisions

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

NightRoman

2012-12-11 09:26

reporter   bugnote:0009806

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

2useven10

2012-12-11 10:04

developer   bugnote:0009807

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

shmuel

2012-12-11 13:49

developer   bugnote:0009809

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

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

shmuel

2013-03-05 00:46

developer   bugnote:0010443

Last edited: 2013-03-05 01:07

View 2 revisions

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

NightRoman

2013-03-05 07:25

reporter   bugnote:0010448

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

Issue History

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