Page 1 of 8

Far работает с большим буфером консоли!

Posted: Sat 22 May, 2010 19:41
by John Doe
Теперь Far умеет работать в пределах видимого окна консоли, даже при экранном буфере большего размера! (Раньше понятия "окно" и "буфер" не разделялись)


Что это даёт: Окно фара рисуется не на весь буфер консоли, а подгоняется под размер отображаемого окна.
Таким образом, если установить большое значение вертикального размера буфера, то можно будет с лёгкостью просматривать весь вывод консольных программ, запущеных из фара.

Кроме того: Изменяя размер окна консоли (например мышью) мы изменяем размер фара.
Почти как в ConMan / ConEmu.

При нормализации/максимизации окна (Alt-F9) фар больше не пытается подгонять размер буфера.
Неочевидное, но закономерное следствие: появление скроллбаров, даже если вы не увеличивали буфер намеренно:


Как включить: Этот режим по умолчанию выключен, и включается с помощью ключа командной строки /w.
А если вы хотите использовать его постоянно — нужно активировать соответствующий параметр с помощью far:config (System.WindowMode = true).

Опробовать новую функциональностью можно увеличив буфер экрана.
Это можно сделать в свойствах консоли, либо с помощью команды mode:
Кроме того, можно использовать сторонние утилиты и плагины.

Клавиатурные комбинации для "перемотки" по консольному буферу:
Ctrl-Alt- <Up/Down>
Ctrl-Alt- <PgUp/PgDn>
Ctrl-Alt- <Номе/End>


API для плагинов: AdvControl


Старые темы:

Далее:

Известные проблемы

Posted: Sat 22 May, 2010 19:44
by John Doe
  • Если задать ширину окна большей, чем позволяет размер экрана, то правая граница фара оказывается скрыта скроллбаром.

    Решение: Mantis #311, и ещё тут.
  • Как и сказано в , отдельные плагины отрисовываются .
    Решение: Юникодные плагины могут быть исправлены их авторами, используя новое API (см. предыдущий пост).
  • При изменении размера окна (например мышью или Alt-F9) возможно попадание в буфер артефактов.
    Решение:
  • В некоторых областях (например в редакторе) многие Ctrl-Alt-комбинации уже задействованы под собственные функции фара, поэтому прокрутка не сработает.
    Решение: Назначить макросы, используя соответствующие функции.
    Очень кстати пришлись бы модификаторы с Win-
  • При открытом меню прокрутка невозможна (точнее фар самопроизвольно возвращает окно в конец буфера)

Чёрный список плагинов, не работающих с большим буфером

Posted: Sat 22 May, 2010 19:46
by John Doe
Unicode
  • Некоторые плагины Максима Русова
    • FarHints
    • FarDebug
    • Noisy
    • [?]FontMan
  • FAR Manager Calculator v3.10 (Cail Lomecb & uncle-vunkis)
    диалоги конвертации единиц
    калькулятор (горизонтальный буфер)
  • newarc.ex
  • ...
Ansi Плагины, неправильно отрисовывающиеся при большом горизонтальном размере буфера:
  • Search & Replace
    субплагин VersionInfo

Список открыт для добавления, сообщайте!


Что ещё не реализовано

Posted: Sat 22 May, 2010 19:47
by John Doe
  • Хочется чтобы новая функциональность была доступна из макросов.
    А именно, нужны следующие макрофункции:
  • Заполнение буфера сверху вниз, как в cmd.

Дискуссионные моменты

Posted: Sat 22 May, 2010 22:15
by John Doe
  • Буфер консоли vs "подпанельный" буфер (Ctrl-O):
    Концепция буфера над панелями плохо сочетается с просмотром экрана под панелями.

    Для сравнения см. Midnight Commander. Не скажу что там всё хорошо, но их решение "идеологически" более правильное: скроллбар появляется только после нажатия Ctrl-O
  • Выделение по Alt-Ins не позволяет выделить текст в буфере. Может быть в буфере применить другой подход?
  • Если при просмотре буфера нажать какую-либо клавишу - буфер скорее всего автоматически отмотается к окну фара.
    К перемотке приводят большинство действий в фаре, но не перемещение курсора на панели.
  • В некоторых случаях, в частности после двойного Alt-F9 (максимизация/нормализация) появляются не всегда желанные полосы прокрутки:

Утилиты для изменения размеров буфера/окна

Posted: Sat 22 May, 2010 23:42
by John Doe
Использование стандартной команды mode con к сожалению очищает буфер.
Но управлять размером окна и буфера можно с помощью разных сторонних утилит:
  • CygUtils consize - A resizer for the console.
  • Frank Westlake's utilities (зеркало)
    • ConSet.exe - Displays, sets, or deletes cmd.exe environment variables, modifies console parameters, and performs floating point mathematics.
    • ConSetBuffer.exe Sets the dimensions of the console buffer in columns and lines.
    • ConSetWindow.exe - Sets the position of the left, top, right, and bottom edges of the window in
      the screen buffer.
  • Jason Hood's Console Size - Change properties of the NT/2K/XP console window.
C помощью этих утилит, например, можно избавиться от нежелательной горизонтальной полосы прокрутки (подробности в предыдущем сообщении).

Update:
Для Far 3 можно использовать плагин Console Control

Re: Far работает с большим буфером консоли!

Posted: Sun 23 May, 2010 05:54
by ivank
При установленной опции
[x] Always show menu bar
теряется одна строка консольного буфера
Far Manager, version 2.0 (build 1566) x86

Re: Far работает с большим буфером консоли!

Posted: Sun 23 May, 2010 06:24
by CrOm
так, товарищи, а как теперь узнать размер окна фара?

Re: Far работает с большим буфером консоли!

Posted: Sun 23 May, 2010 13:01
by abelenki
ivank wrote:При установленной опции
[x] Always show menu bar
теряется одна строка консольного буфера
Far Manager, version 2.0 (build 1566) x86
подтверждаю. у меня тоже установлена эта опция. теряется одна строка консольного вывода.

параметры ярлыка/расположение: размер буфера - 121х9999, размер окна - 121х44.

а в остальном - спасибо огромное, функционал очень полезный, и работает без нареканий!!

Re: Far работает с большим буфером консоли!

Posted: Sun 23 May, 2010 15:47
by Игорь Юдинцев
поломались MacroView и PlugMenu.

Re: Far работает с большим буфером консоли!

Posted: Sun 23 May, 2010 21:14
by Max Rusov
Чёрный список плагинов, не работающих с большим буфером
Может вместо тог чтобы вести черный список - подождать пока фичу доведут до ума? А то в него придется очень много плагинов добавить...

Re: Far работает с большим буфером консоли!

Posted: Sun 23 May, 2010 21:16
by Kerberos464
поломались:
AltHistory 2.5.9
MediaInfo 1.4
UnInstall 1.10.6.146

Re: Far работает с большим буфером консоли!

Posted: Sun 23 May, 2010 23:21
by John Doe
Max Rusov wrote:Может вместо тог чтобы вести черный список - подождать пока фичу доведут до ума? А то в него придется очень много плагинов добавить...
Фича довольно проста: развели понятия буфер/окно.
Плагины сами-собой уже не починятся.

Re: Far работает с большим буфером консоли!

Posted: Mon 24 May, 2010 00:03
by Max Rusov
Ну, как уже говорили, минимум - неплохо бы добавить API для плагинов. Мои плагины, например, практически все в той или иной степени используют размер буфера консоли. Можешь внести в список:

FarHints
FarTabs
PlugMenu
MoreHistory
FarDebug
Noisy
UnicodeCharmap
VisualCompare
FontMan

Ни один из них нормально работать не будет.

Re: Far работает с большим буфером консоли!

Posted: Mon 24 May, 2010 00:19
by John Doe
Список выполняет свою задачу - пользователь увидит что проблема известна и не будет вам напрасно надоедать.
Ну и обратить внимание авторов тоже полезно.