Console Control

Здесь можно обсудить ваш любимый плагин.
Krest_kz
Posts: 42
Joined: Sat 22 Sep, 2007 15:28

Console Control

Post by Krest_kz » Mon 30 Nov, 2015 05:31

Latest post of the previous page:

2useven10 wrote: Если это всё-таки не так, то ConsoleControl-Macros.lua надо положить в %FARPROFILE%\Macros\scripts\
а ConsoleControl.lua в %FARPROFILE%\Macros\modules\
Спасибо помогло
да вот помогло это - запустил на другой машине - развернулось до заданных размеров и ярлык не понадобился

User avatar
John Doe
Бюрократ
Posts: 12538
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 239 times

Console Control

Post by John Doe » Sat 10 Sep, 2016 13:05

Макрос на AltF9 при максимизации увеличивает и размеры консольного буфера (если он недостаточен для разворачивания окна на весь экран).
Проблема в том, что, что "нарощенная" часть буфера при этом наследует фон интерфейса фара (например панелей).

Чтобы этого не происходило интерфейс стоит предварительно гасить (FCTL_GETUSERSCREEN/FCTL_SETUSERSCREEN)
Желательно усовершенствовать плагин.

Можно конечно и прямо в макрос добавить, но тогда мелькать будет будет при каждом нажатии AltF9, а не только когда это необходимо.
Хотя.. можно попробовать и в макросе угадать:

Code: Select all

local cc = ConsoleControl
Macro { description="Console Control: Maximize/Restore";
  area="Common"; key="AltF9";
  condition=cc.Exist;
  action=function()
    local wW, wH = cc.WindowSize () -- размеры окна
    local bW, bH = cc.BufferSize () -- размеры буфера
    local Max
    if cc.Maximize()==0 and (wW==bW or wH==bH) then
      panel.GetUserScreen()
      Max = cc.Maximize(1)
      mf.waitkey(1)
      panel.SetUserScreen()
    else
      Max = cc.Maximize(-1)
    end
    if Max then
--    ShowHint("Maximize: " .. (Max == 1 and "On" or "Off") )
      ShowHint()
    end
  end;
}

User avatar
John Doe
Бюрократ
Posts: 12538
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 239 times

Console Control

Post by John Doe » Sun 11 Sep, 2016 23:04

Интересно, что экран всё равно портился, пока я не добавил после Maximize ещё и mf.waitkey(1)

Post Reply

Return to “Обсуждение плагинов”