Собственно,
1) открыть любой файл на просмотр/редактирование;
2) нажать Ctrl+O;
3) нажать Alt+Ins чтобы выделить что-либо;
Expected: грабер работает
Actual: грабер не работает, десктоп переключается назад в редактор/просмотрщик.
Некритично, но иногда очень надо.
// Far 3.0 build 4809 x86 / Windows 10 x64
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
-
- Posts: 1420
- Joined: Mon 04 Apr, 2005 13:41
- Location: San Ramon, CA / Kharkov, UA
- Has thanked: 45 times
- Been thanked: 73 times
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
- John Doe
- Бюрократ
- Posts: 14174
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 80 times
- Been thanked: 454 times
- Contact:
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
У меня есть макрос, который по CtrlO пытается переключиться в Desktop.
AltIns тогда работает.
К сожалению, для модальных окон это сейчас не работает http://bugs.farmanager.com/view.php?id=3302
В контексте данного топика:
AltIns тогда работает.
К сожалению, для модальных окон это сейчас не работает http://bugs.farmanager.com/view.php?id=3302
В контексте данного топика:
Было бы неплохо, чтобы фар это делал по CtrlO самостоятельно, или хотя бы позволял переключиться через F12.У меня есть макрос, который по CtrlO пытается переключиться в Desktop.
- zg
- zero-gravity
- Posts: 6119
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 191 times
- Contact:
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
1. всё таки это надо в следующий раздел.
2. просто показывать честный десктоп по ctrl-o не просто, а очень просто. но подозреваю многим это не понравится. поэтому хотелось бы большей формализации, что должно происходить.
2. просто показывать честный десктоп по ctrl-o не просто, а очень просто. но подозреваю многим это не понравится. поэтому хотелось бы большей формализации, что должно происходить.
- John Doe
- Бюрократ
- Posts: 14174
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 80 times
- Been thanked: 454 times
- Contact:
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
Хочется чтобы Desktop обрабатывал нажатия CtrlO и Esc, переключаясь при этом в предыдущее окно.
Причём это желательно независимо от сабжа, т.е. неважно как мы попали в Desktop, хоть из F12.
(Макросами опробовано, удобно)
- zg
- zero-gravity
- Posts: 6119
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 191 times
- Contact:
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
решается макросом. кнопки для выхода допиливаются по вкусу.
Code: Select all
local F=far.Flags
Macro
{
area="Editor";key="CtrlO";
action=function()
local id
id=far.MacroAdd(F.MACROAREA_OTHER,0,"CtrlO",'if false then end',"",function()
far.MacroDelete(id)
panel.SetUserScreen()
return true
end)
if id then panel.GetUserScreen() end
end
}
- John Doe
- Бюрократ
- Posts: 14174
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 80 times
- Been thanked: 454 times
- Contact:
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
То что макрос выполняет свою работу в колбэке это плохо, и приводит к конфликтам.
У меня есть макрос на ту же клавишу в области Common, который в condition ориентируется на Area.Current.
В области Other он возвращает false, а в области Editor значение 55 (приоритет).
И вот при вызове в области Other, в результате вызова колбэка первого макроса контекст изменяется, и в момент выполнения condition второго у нас уже редактор, соответственно второй макрос тоже срабатывает.
Вот так лучше:
Code: Select all
local F = far.Flags
Macro { description="Advanced CtrlO in editor";
area="Editor"; key="CtrlO";
action=function()
local id
id=far.MacroAdd(F.MACROAREA_OTHER,0,"CtrlO","--","Advanced CtrlO in editor",function()
far.MacroDelete(id)
far.MacroPost("panel.SetUserScreen()")
return true
end)
if id then panel.GetUserScreen() end
end
}
P.S.
Для написания полноценных макросов не хватает как минимум нормальной макрообласти.
Other у нас это вообще граббер
P.P.S.
Desktop: реализовать выход по Esc/Ctrl-O
Last edited by John Doe on Tue 19 Sep, 2017 15:53, edited 1 time in total.
- zg
- zero-gravity
- Posts: 6119
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 191 times
- Contact:
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
так и двигали бы нормальное решение, не? я помню, смотрел этот тикет, хотел реализовать. для hmenu макрообласть есть. для оставшихся двух не предложено как их разделить в плане названий, констант и т.д. в общем вишь на отвали.John Doe wrote: Tue 19 Sep, 2017 14:59Для написания полноценных макросов не хватает как минимум нормальной макрообласти.
Last edited by zg on Tue 19 Sep, 2017 16:37, edited 1 time in total.
- John Doe
- Бюрократ
- Posts: 14174
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 80 times
- Been thanked: 454 times
- Contact:
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
Есть MainMenu, но на практике для макросов есть разница открыто меню или нет.
Историю вопроса найду при случае.
Внутренние константы для окон есть, ничего мудрить не предлагаю, всё остальное по подобию.zg wrote: Tue 19 Sep, 2017 16:37для оставшихся двух не предложено как их разделить в плане названий, констант и т.д.
Область "Other" зарезервировать, для граббера использовать "Grabber" (MACROAREA_GRABBER).
Для десктопа соответственно "Desktop" (MACROAREA_DESKTOP), хотя есть сомнения в удачности названия, но по большому счёту лично мне всё равно.
Что ещё требуется предложу.
- John Doe
- Бюрократ
- Posts: 14174
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 80 times
- Been thanked: 454 times
- Contact:
Невозможно использовать грабер на десктопе, открытым из редактора или просмотрщика по Ctrl+O
0003523: Полноценный просмотр пользовательского экрана в редакторе/вьювере
Макросами: Ctrl-O: просмотр пользовательского экрана из любой области
Макросами: Ctrl-O: просмотр пользовательского экрана из любой области
Last edited by John Doe on Tue 31 Oct, 2017 22:19, edited 1 time in total.