View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002172 | Far Manager | Macro | public | 2012-10-22 00:26 | 2013-03-05 05:14 |
Reporter | NightRoman | Assigned To | shmuel | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0002172: Определиться с механизмом автостарта для макросов | ||||
Description | Помещаю в баги, а не виши, ибо это, по обсуждению на форуме, "должно быть". Словом, нужен оговоренный механизм, который при старте Фара в любом режиме (но с макросами, конечно) запускает Lua код пользователя, профиль, где пользователь настраивает среду для других своих макросов. Существующие автостартующие макросы не решают задачу в общем случае, так как исторически такие макросы только для shell, а Фар может стартовать и без shell (ключи /e /v). | ||||
Tags | No tags attached. | ||||
Build | 3065 | ||||
|
Предлагаю адаптировать механизм _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 |
|
Объясните, при чем тут меню? Или это там меню, а предлагается только принцип перенять? |
|
В плагине файл называется _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). Тогда и название можно оставить. |
|
Для начала допилите FAR, плиз, чтобы автостартующие макросы стартовали и при far /e и при far /v. Сейчас автостарт обрабатывается только при появлении панелей, и стартуют только макросы помещённые в область Shell. Предлагаю чтобы автостартующие макросы из области Common стартовали бы всегда! macro area="Common" key="Auto load" flags="RunAfterFARStart" должен запускаться всегда при запуске FAR не зависимо от ключей /e /v ... |
|
В билде 3003 этот тикет еще актуален или можно просто стартующий код помещать в макрофайлы "без Macro обертки", так сказать? |
|
логичнее было бы использовать, например, Macros/init (+порядок загрузки) |
|
> В билде 3003 этот тикет еще актуален или можно просто стартующий код помещать в макрофайлы "без Macro обертки", так сказать? Во время загрузки макрофайл не имеет доступа к глобальным переменным (сознательное решение), поэтому тикет ещё актуален. |
|
NightRoman, начиная примерно с билда 3065, были сняты ограничения при загрузке макрофайлов. Решает ли это для вас данную проблему? |
|
Думаю, да. Практически еще не тестировал, руки не доходят. Но тикет можно закрывать. Если что-то не так, то можно уже новый конкретный открыть будет. |
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 |