------------------- Update
Объединяем оба варианта в один макрос, чтобы не использовать страшные комбинации с CtrlAltShift:
Для того чтобы зайти в подкаталог надо нажать клавишу дважды:
elseif band(Mouse.LastCtrlState,mod)~=modornot Area.Shell then
return
end
until Far.UpTime-start>HoldDelay
dir.Name=item.FileName
panel.SetPanelDirectory(nil,p,dir)
end
end
Macro {
description="Activate the same folder in the passive panel";
area="Shell"; key="CtrlShiftBackSlash";
action=function()
SameFolder(PASSIVE)
end;
}
Macro {
description="Activate the same folder in the active panel";
area="Shell"; key="CtrlShift/";
action=function()
SameFolder(ACTIVE)
end;
}
Macro {
description="Activate the same folder in the left panel";
area="Shell"; key="CtrlShiftLeft";
action=function()
SameFolder(APanel.Left and ACTIVE or PASSIVE)
end;
}
Macro {
description="Activate the same folder in the right panel";
area="Shell"; key="CtrlShiftRight";
action=function()
SameFolder(APanel.Left and PASSIVE or ACTIVE)
end;
}
(Устанавливать один файл из двух)
Второй вариант учитывает удержание модификаторов, что не совсем правильно.
В идеале нужно учитывать только удержание значащей клавиши, но тут уже LuaFAR-апи недостаточно.
Нет в фаре Ctrl=. Это какой-то макрос, вероятнее всего дублирующий папку на пассивную панель.
С таким же успехом вы можете взять макросы из моего набора, и изменить сочетания на удобные вам.
После TAB Ctrl= курсор переместится на другую панель, мои же макросы не меняют панель.
SameFolder((OpenFrom==far.Flags.OPEN_LEFTDISKMENU)==APanel.Left and ACTIVE or PASSIVE)
end;
}
MenuItem {
description="SameFolderEx configuration";
menu="Config";
guid="0ACF06DB-F6AD-4007-84E3-AB2B1CB996E2";
text=function()return"SameFolderEx"end;
action=function()
local ans = far.Message([[Show "SameFolderEx" in the Disks menu?]],"SameFolderEx",";YesNo")
if ans~=-1then show_disksmenu_item = ans==1end
end;
}
позволяет отобразить собственный пункт скрипта в меню дисков (ранее это было доступно только плагинам)
Также добавляется собственный пункт в меню конфигурации, опция одна: можно отключить показ в меню дисков.
P.S.
В завтрашней ночной сборке поле title изменено на text.
Дело в том, что вариант с удержание или двойным нажатием меня не устраивает. Может, конечно, стоит пойти по пути модификации SameFolderEx. Завтра попробую.
Ну и для информации: чтобы SameFolderEx открывал подпапки без удержания/двойного нажатия, достаточно в вызов функции добавить второй параметр "sub", например:
Я профан в этом деле, но мне кажется, что можно отделить настройки от кода, сделать морду для настроек (горячие клавиши, например). Плагины можно обновлять вместе с far с помощью UpdateEx.