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

Хотите говорить о Far и не знаете, куда обратиться?
Post Reply
User avatar
John Doe
Бюрократ
Posts: 11240
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 14 times
Been thanked: 81 times

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

Post by John Doe » Sat 22 May, 2010 19:41

Теперь 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


Старые темы:

Далее:

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

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

Post by John Doe » Sat 22 May, 2010 19:44

  • Если задать ширину окна большей, чем позволяет размер экрана, то правая граница фара оказывается скрыта скроллбаром.

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

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

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

Post by John Doe » Sat 22 May, 2010 19:46

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

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

Last edited by John Doe on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Добавлен PanelFilter, обновлена ссылка на Expression Calculator, исправлено форматирование списков

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

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

Post by John Doe » Sat 22 May, 2010 19:47

  • Хочется чтобы новая функциональность была доступна из макросов.
    А именно, нужны следующие макрофункции:
  • Заполнение буфера сверху вниз, как в cmd.

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

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

Post by John Doe » Sat 22 May, 2010 22:15

  • Буфер консоли vs "подпанельный" буфер (Ctrl-O):
    Концепция буфера над панелями плохо сочетается с просмотром экрана под панелями.

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

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

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

Post by John Doe » Sat 22 May, 2010 23:42

Использование стандартной команды 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

ivank
Posts: 129
Joined: Fri 08 Aug, 2008 16:14
Contact:

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

Post by ivank » Sun 23 May, 2010 05:54

При установленной опции
[x] Always show menu bar
теряется одна строка консольного буфера
Far Manager, version 2.0 (build 1566) x86

User avatar
CrOm
Posts: 1421
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time
Contact:

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

Post by CrOm » Sun 23 May, 2010 06:24

так, товарищи, а как теперь узнать размер окна фара?
FARdroid, qPlayEx, Opera Cache Browser, Mr.Ripper

User avatar
abelenki
Posts: 405
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 93 times
Been thanked: 17 times
Contact:

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

Post by abelenki » Sun 23 May, 2010 13:01

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

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

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

Игорь Юдинцев
Posts: 725
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 1 time

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

Post by Игорь Юдинцев » Sun 23 May, 2010 15:47

поломались MacroView и PlugMenu.

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

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

Post by Max Rusov » Sun 23 May, 2010 21:14

Чёрный список плагинов, не работающих с большим буфером
Может вместо тог чтобы вести черный список - подождать пока фичу доведут до ума? А то в него придется очень много плагинов добавить...

User avatar
Kerberos464
Posts: 1238
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 17 times
Been thanked: 1 time

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

Post by Kerberos464 » Sun 23 May, 2010 21:16

поломались:
AltHistory 2.5.9
MediaInfo 1.4
UnInstall 1.10.6.146
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.

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

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

Post by John Doe » Sun 23 May, 2010 23:21

Max Rusov wrote:Может вместо тог чтобы вести черный список - подождать пока фичу доведут до ума? А то в него придется очень много плагинов добавить...
Фича довольно проста: развели понятия буфер/окно.
Плагины сами-собой уже не починятся.

Max Rusov
Posts: 3600
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 7 times

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

Post by Max Rusov » Mon 24 May, 2010 00:03

Ну, как уже говорили, минимум - неплохо бы добавить API для плагинов. Мои плагины, например, практически все в той или иной степени используют размер буфера консоли. Можешь внести в список:

FarHints
FarTabs
PlugMenu
MoreHistory
FarDebug
Noisy
UnicodeCharmap
VisualCompare
FontMan

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

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

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

Post by John Doe » Mon 24 May, 2010 00:19

Список выполняет свою задачу - пользователь увидит что проблема известна и не будет вам напрасно надоедать.
Ну и обратить внимание авторов тоже полезно.

User avatar
abelenki
Posts: 405
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 93 times
Been thanked: 17 times
Contact:

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

Post by abelenki » Mon 24 May, 2010 04:09

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

Code: Select all

drkns 23.05.2010 23:23:23 +0200 - build 1568

1. После 1564-1566 вылезли скрытые проблемы с отрисовкой в запускателе.
проблема с потерей одной строки в выводе буфера до сих пор присутствует в 1568. вот как это выглядит при запуске rar.exe (теряется строка oc Set NTFS Compressed attribute):


Post Reply

Return to “Обсуждение Far Manager”