Latest post of the previous page:
Far3 4040 x86Panel.CtrlQ.lua — широкая панель быстрого просмотра
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Panel.CtrlQ.lua — широкая панель быстрого просмотра
Чтобы работало - попросите автора picture.lua исправить строку 323 на
И ещё один момент: picture.lua срабатывает во время исполнения макропоследовательности, раздвигающей панель.
Это тоже скорее всего стоит исправлять там.
(Можно и в Panel.CtrlQ.lua, но в результате при большом количестве файлов на панели появится задержка)
Code: Select all
mf.postmacro(function() Keys"Esc" if eval(key,2)==-2 then Keys(key) end end)
Это тоже скорее всего стоит исправлять там.
(Можно и в Panel.CtrlQ.lua, но в результате при большом количестве файлов на панели появится задержка)
Re: Panel.CtrlQ.lua — широкая панель быстрого просмотра
Спасибо! Теперь работает, хорошо.
upd
Работает с макросом из стандартной поставки.
С макросом размещенным здесь, теперь не работает открытие (расширение перед переключением в быстрый просмотр при запуске на картинке)
Видимо это связано с тем, что "...picture.lua срабатывает во время исполнения макропоследовательности, раздвигающей панель."
upd
Работает с макросом из стандартной поставки.
С макросом размещенным здесь, теперь не работает открытие (расширение перед переключением в быстрый просмотр при запуске на картинке)
Видимо это связано с тем, что "...picture.lua срабатывает во время исполнения макропоследовательности, раздвигающей панель."
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Улучшение макросов из поставки фара
А в следующем макросе видимо было непонятно много телодвижений.
Если я ничего не упустил, то лучше записать так:
P.S.
Тестируя макрос наткнулся на проблему:
https://bugs.farmanager.com/view.php?id=3561 (исправлено)
Если я ничего не упустил, то лучше записать так:
Code: Select all
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;
}
Тестируя макрос наткнулся на проблему:
https://bugs.farmanager.com/view.php?id=3561 (исправлено)
Last edited by John Doe on Fri 22 Nov, 2019 16:19, edited 1 time in total.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Panel.CtrlQ.lua — широкая панель быстрого просмотра
Новая итерация, макрос сильно упрощён, за счёт некоторого компромисса в функциональности.
По сравнению с текущим штатным:
По сравнению с текущим штатным:
- В комментарии описана необходимая предварительная настройка, без которой макрос сильно теряет в удобстве (штатный тоже)
- areas: +Search (https://bugs.farmanager.com/view.php?id=2853)
- condition: Макрос отключён на папках, чтобы избежать проблемы с невозможностью прервать сканирование папок: (http://bugs.farmanager.com/view.php?id=2692)
- Дополнительный макрос, учитывающий возможность нажатия CtrlQ в самой панели быстрого просмотра
- Минимальная ширина панели теперь настраивается константой (в идеале должна численно совпадать с шириной первой колонки в настройках режима панели)
- Номера режимов (общий, и одноколоночный, используемый при QView) теперь настраиваются константами
- Режим панели меняется только если совпадает с заданным константой, что особенно важно для панелей, подобных временной, использующих свой кастомизированный режим.
Улучшение макросов из поставки фара
Я тут в стандартном %FARHOME%\Addons\Macros\Panel.CtrlQ.lua улучшил функиональность и причесал
Из улучшений (неполный список):
* Зачем в оригинале был насильственный Ктрл-Ф3 Ctrl2 ?
* Tеперь при отмене Ктрл-Кью (воврат из быстрого просмотра) возвращется к прежнему виду без каких-либо изменений layout, в оригинале этого не было
* Добавил авто-переход в "no-wrap"
* возможно что-то еще, не помню
Из улучшений (неполный список):
* Зачем в оригинале был насильственный Ктрл-Ф3 Ctrl2 ?
* Tеперь при отмене Ктрл-Кью (воврат из быстрого просмотра) возвращется к прежнему виду без каких-либо изменений layout, в оригинале этого не было
* Добавил авто-переход в "no-wrap"
* возможно что-то еще, не помню
Code: Select all
-- 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;
}
Last edited by Xerox on Fri 22 Nov, 2019 15:32, edited 3 times in total.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Улучшение макросов из поставки фара
Где?
Вообще корни большинства макросов идут с древних времён, когда многих средств макрозыка ещё не было.
И хоть сейчас макросы и были переведены на луа, но зачастую это было сделано в лоб.
Вот такой вариант не пропустили?
viewtopic.php?p=147589#p147589
(Локально у меня другой, не помню выкладывался ли)
Улучшение макросов из поставки фара
John Doe, исправил, речь про Ктрл+2:
Code: Select all
if Area.QView then
Keys('Tab Ctrl2 Tab CtrlClear')
else..
Улучшение макросов из поставки фара
пропустил, там есть интересный способ:
Code: Select all
Keys(("%i*%s"):format(APanel.Width-min_width,key))
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Улучшение макросов из поставки фара
Ctrl2 тут очень даже важно, поскольку при отключении 'широкой панели' необходимо вернуться к прежнему режиму противоположной панели, который в общем случае неизвестен, и запомнить его нетривиально.
Улучшение макросов из поставки фара
John Doe, ну собсна потом и кровью я и решил эту нетривиальную проблему, и уместилось в несколько строк всего лишь.
все возвращается в "як и було".
можно еще ужать исползуя фишку:
но я не буду, итак уже тошнит ..
А работает почти идеально и натурально.
Надо только еще потестрировать с разными панелями, в архивах например мне казалось что подглючивает
Ну да бох с ним, есть кнопка центрирования если что
все возвращается в "як и було".
можно еще ужать исползуя фишку:
Code: Select all
Keys(("%i*%s"):format(APanel.Width-min_width,key))
А работает почти идеально и натурально.
Надо только еще потестрировать с разными панелями, в архивах например мне казалось что подглючивает
Ну да бох с ним, есть кнопка центрирования если что
Last edited by Xerox on Fri 22 Nov, 2019 16:12, edited 3 times in total.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Улучшение макросов из поставки фара
У меня нет возможности протестировать ваш вариант сейчас.
Возможно отвечу позже, когда дойдут руки.
Last edited by John Doe on Tue 03 Dec, 2019 12:55, edited 1 time in total.
Panel.CtrlQ.lua — широкая панель быстрого просмотра
John Doe,
Так что, не удалось простестировать мой вариант?
По моему все довольно ультимативно хорошо и как ожидаемо работает.
T.е. - не нужно никаких преднастраиваний, заданий режимов.
Сделали КонтролКью - расширился экран, в режиме "no wrap"
(вроде все хотят "no wrap", но кто не хочет пусть уберет из скрипта, там одна строчка)
Отменили КонтролКью - экран вернулся ровно в те же размеры где и был, без никаких бы то ни было изменений
Если будет где глючить, -скажите где, я подправлю
Так что, не удалось простестировать мой вариант?
По моему все довольно ультимативно хорошо и как ожидаемо работает.
T.е. - не нужно никаких преднастраиваний, заданий режимов.
Сделали КонтролКью - расширился экран, в режиме "no wrap"
(вроде все хотят "no wrap", но кто не хочет пусть уберет из скрипта, там одна строчка)
Отменили КонтролКью - экран вернулся ровно в те же размеры где и был, без никаких бы то ни было изменений
Если будет где глючить, -скажите где, я подправлю
Last edited by Xerox on Sun 08 Dec, 2019 15:57, edited 1 time in total.
Panel.CtrlQ.lua — широкая панель быстрого просмотра
Очередная "очередная версия" тут:
https://github.com/dr-dba/LUA-FAR-STUFF ... .XeR0X.lua
@XeRoX wrote: У тебя он не срабатывал раньше, теперь исправлено.
там есть сейчас еще выход по Escape из QuickView, и заодно из InfoPAnel (CtrlL)
какие-то еще улучшения
Last edited by citRiks on Sat 22 Feb, 2020 15:37, edited 1 time in total.