mf.postmacro(function() Keys"Esc" if eval(key,2)==-2 then Keys(key) end end)
И ещё один момент: picture.lua срабатывает во время исполнения макропоследовательности, раздвигающей панель.
Это тоже скорее всего стоит исправлять там.
(Можно и в Panel.CtrlQ.lua, но в результате при большом количестве файлов на панели появится задержка)
Спасибо! Теперь работает, хорошо.
upd
Работает с макросом из стандартной поставки.
С макросом размещенным здесь, теперь не работает открытие (расширение перед переключением в быстрый просмотр при запуске на картинке)
Видимо это связано с тем, что "...picture.lua срабатывает во время исполнения макропоследовательности, раздвигающей панель."
Улучшение макросов из поставки фара
Posted: Tue 28 Nov, 2017 17:15
by John Doe
А в следующем макросе видимо было непонятно много телодвижений.
Если я ничего не упустил, то лучше записать так:
local min_width = 11
local QView = 2
local DefaultMode = "Ctrl2"
Macro { description="QView: максимизировать панель";
area="Shell"; key="CtrlQ";
action=function()
Keys("AKey")
if PPanel.Type==QView then
Keys("Ctrl6") --режим с одной колонкой
local key = APanel.Left and "CtrlLeft" or "CtrlRight"
Keys(("%i*%s"):format(APanel.Width-min_width,key))
else
Keys(DefaultMode,"CtrlClear")
end
end;
}
Дополнительный макрос, учитывающий возможность нажатия CtrlQ в самой панели быстрого просмотра
Минимальная ширина панели теперь настраивается константой (в идеале должна численно совпадать с шириной первой колонки в настройках режима панели)
Номера режимов (общий, и одноколоночный, используемый при QView) теперь настраиваются константами
Режим панели меняется только если совпадает с заданным константой, что особенно важно для панелей, подобных временной, использующих свой кастомизированный режим.
Улучшение макросов из поставки фара
Posted: Fri 22 Nov, 2019 14:50
by Xerox
Я тут в стандартном %FARHOME%\Addons\Macros\Panel.CtrlQ.lua улучшил функиональность и причесал
Из улучшений (неполный список):
* Зачем в оригинале был насильственный Ктрл-Ф3 Ctrl2 ?
* Tеперь при отмене Ктрл-Кью (воврат из быстрого просмотра) возвращется к прежнему виду без каких-либо изменений layout, в оригинале этого не было
* Добавил авто-переход в "no-wrap"
* возможно что-то еще, не помню
-- Far Group (tm) + XeroX (tm) (CopyLeft) 2019
-- based on:
-- %FARHOME%\Addons\Macros\Panel.CtrlQ.lua
-- fixed and imporoved
-- Panel.CtrlQ.lua.XeroX.lua
Macro { description="Toggle quick view panel";
area="Shell QView";
key="CtrlQ";
action = function()
if not Area.QView then
Keys('Tab')
is_tab_test = true
end
if Area.QView then
is_canceled = true
for ii=1,APanel.Width - APanel_Width__prev do Keys(APanel.Left and 'CtrlLeft' or 'CtrlRight') end
else
APanel_Width__prev = APanel.Width
for ii=1,PPanel.Width - 10 do Keys(APanel.Left and 'CtrlRight' or 'CtrlLeft') end
is_canceled = false
end
if is_tab_test then Keys('Tab') end
Keys('CtrlQ')
if not is_canceled and not APanel.Folder then
-- fix for text lines wrapping:
Keys('Tab F2 Tab')
end
end;
}
Улучшение макросов из поставки фара
Posted: Fri 22 Nov, 2019 15:17
by John Doe
Xerox wrote: ↑Fri 22 Nov, 2019 14:50
Зачем в оригинале был насильственный Ктрл-Ф3?
Где?
Вообще корни большинства макросов идут с древних времён, когда многих средств макрозыка ещё не было.
И хоть сейчас макросы и были переведены на луа, но зачастую это было сделано в лоб.
Но там что мне не нравится есть опять навязывания Ктрл2 (одна колонка), и нужны манипуляции с DefaultMode, и не вижу возврата к "як и було".
Улучшение макросов из поставки фара
Posted: Fri 22 Nov, 2019 15:37
by Xerox
John Doe wrote: ↑Fri 22 Nov, 2019 15:17
(Локально у меня другой, не помню выкладывался ли)
ну выкладывай уже, не томи душу
Улучшение макросов из поставки фара
Posted: Fri 22 Nov, 2019 15:56
by John Doe
Ctrl2 тут очень даже важно, поскольку при отключении 'широкой панели' необходимо вернуться к прежнему режиму противоположной панели, который в общем случае неизвестен, и запомнить его нетривиально.
Улучшение макросов из поставки фара
Posted: Fri 22 Nov, 2019 16:06
by Xerox
John Doe, ну собсна потом и кровью я и решил эту нетривиальную проблему, и уместилось в несколько строк всего лишь.
все возвращается в "як и було".
можно еще ужать исползуя фишку:
но я не буду, итак уже тошнит ..
А работает почти идеально и натурально.
Надо только еще потестрировать с разными панелями, в архивах например мне казалось что подглючивает
Ну да бох с ним, есть кнопка центрирования если что
Улучшение макросов из поставки фара
Posted: Fri 22 Nov, 2019 16:21
by John Doe
Xerox wrote: ↑Fri 22 Nov, 2019 16:06
А работает почти идеально и натурально.
У меня нет возможности протестировать ваш вариант сейчас.
Возможно отвечу позже, когда дойдут руки.
!
Message from: John Doe
Выяснилось, что макрос независимо обсуждался в двух темах.
Объединил.
John Doe,
Так что, не удалось простестировать мой вариант?
По моему все довольно ультимативно хорошо и как ожидаемо работает.
T.е. - не нужно никаких преднастраиваний, заданий режимов.
Сделали КонтролКью - расширился экран, в режиме "no wrap"
(вроде все хотят "no wrap", но кто не хочет пусть уберет из скрипта, там одна строчка)
Отменили КонтролКью - экран вернулся ровно в те же размеры где и был, без никаких бы то ни было изменений
Если будет где глючить, -скажите где, я подправлю
@XeRoX wrote:
У тебя он не срабатывал раньше, теперь исправлено.
там есть сейчас еще выход по Escape из QuickView, и заодно из InfoPAnel (CtrlL)
какие-то еще улучшения