С линейкой клавиш пока тоже "хаком", общий код приседаний такой при запуске режима консоли:
Code: Select all
// save visibility of panels and key bar
_visiblePanel1 = Far.Api.Panel.IsVisible;
_visiblePanel2 = Far.Api.Panel2.IsVisible;
_visibleKeyBar = Console.CursorTop - Console.WindowTop == Console.WindowHeight - 2;
// post hide panels and key bar
if (_visiblePanel1 || _visiblePanel2)
Far.Api.PostMacro("Keys'CtrlO'");
if (_visibleKeyBar)
Far.Api.PostMacro("Keys'CtrlB'");
Ну и потом восстанавливаю подобным же образом. Кстати, восстановление панелей по CtrlO не всегда работает (детали сложно объяснить, это в тестах только проявляется), так что индивидуально посылаю CtrlF1/F2, так работает и в тестах.
А с меню хуже, проверить видимость хаком можно, а для гашения вроде нет хоткея, только через настройки. Оно "уедет наверх" после первой команды с любым выводом на экран, но то, что меню вначале или при прокрутке видно на экране - дефект, конечно. Но буду надеятся на АПИ в свое время.