Console Control

Здесь можно обсудить ваш любимый плагин.
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

Console Control

Post by Max Rusov »

Console Control for FAR 3

Микроплагин для управления размером и шрифтом консольного окна FAR с помощью мыши или клавиатуры.

skipik
Posts: 203
Joined: Wed 03 Jun, 2015 15:24
Has thanked: 32 times
Been thanked: 21 times

Console Control

Post by skipik »

Latest post of the previous page:

Krest_kz, макросом.
Вот вам пример, адаптируйте под свои нужды.

Krest_kz
Posts: 42
Joined: Sat 22 Sep, 2007 15:28

Console Control

Post by Krest_kz »

skipik,
skipik wrote: Вот вам пример, адаптируйте под свои нужды.
Спасибо - судя вот по этим строкам
flags="RunAfterFARStart";
Plugin.Call(CCID,"WindowSize",80,35);
Plugin.Call(CCID,"BufferSize",80,35);
Plugin.Call(CCID,"FontName","Lucida Console",15);
- как раз то что нужно

Только я вот ни разу не работал с такими вещами - меня в эту тему перенаправили с другой
Подскажите что нужно сделать что бы это заработало?

1. Я так понимаю нужно создать файл с определенным расширением скинуть туда эту информацию и потом положить его куда то?
2. В файл нужно сбрасывать всю информацию со спойлера или только ту что начинается с
skipik wrote: require "ConsoleControl"
?
3. Как активизировать макрос в принципе? судя по его описанию он должен стартовать Перед загрузкой фара - это как сделать?

2useven10
Posts: 4057
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 188 times

Console Control

Post by 2useven10 »

Приведённый текст запишите в файл %FARPROFILE%\Macros\scripts\InitConsole.lua и перезапустите фар.
InitConsole можете заменить на своё имя, остальное менять не надо.
Если будете менять файл (под свои предпочтения), для применения изменений фар надо перезапустить.
На самом деле можно не перезапускать, а перегрузить макросы, но для начала так проще.

2useven10
Posts: 4057
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 188 times

Console Control

Post by 2useven10 »

FARPROFILE - это переменная окружения, которую устанавливает фар после запуска.
Да ещё - файл лучше записать в кодировке UTF8 (65001).

Krest_kz
Posts: 42
Joined: Sat 22 Sep, 2007 15:28

Console Control

Post by Krest_kz »

2useven10, файл создал под именем InitConsole.lua с кодировкой UTF8 (65001) в Notepad++ положил %FARPROFILE%\Macros\scripts\InitConsole.lua

выбрасывает такое вот -
Image

насколько я понял он просто ищет и не может найти сам макрос
Скачал отсюда http://plugring.farmanager.com/plugin.php?pid=886 архив ConCtrl.far3.x64.1.4.rar
распаковал его. и папку переименовал в consolecontrol
пробовал просто закинуть распакованный архив - без толку

закидывал сюда %FARPROFILE%\Macros\scripts\macros\modules

2useven10
Posts: 4057
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 188 times

Console Control

Post by 2useven10 »

Плагин надо было распаковать в %FARHOME%\plugins\ConsoleControl\
Ругань не на созданный вами макрос, а на вспомогательный макрос самого плагина.
В детали не вникал, но мне кажется он вам не нужен.
Если это всё-таки не так, то ConsoleControl-Macros.lua надо положить в %FARPROFILE%\Macros\scripts\
а ConsoleControl.lua в %FARPROFILE%\Macros\modules\

Krest_kz
Posts: 42
Joined: Sat 22 Sep, 2007 15:28

Console Control

Post by Krest_kz »

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

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

Console Control

Post by John Doe »

Макрос на 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: 12838
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

Console Control

Post by John Doe »

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

Post Reply

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