Добавить прокруточку в Ctrl-O по PageUp/PageDown

Хотите предложить идею нового плагина или знаете, что улучшить в существующем? Пишите сюда.
Post Reply
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by techie »

Far хорош с панелями, и скроллбар там лишний. А вот в режиме с выключенными панелями (Ctrl-O) очень и очень часто бывает нужно отмотать назад вывод какого-нибудь сообщения об ошибке нажав пару раз PageUp. Но нет. Нет скроллбара, нет реакции на PageUp и буфера я так подозреваю тоже нет. Посему вопрос - можно ли сделать этот (кольцевой) буфер, скролбар и реакцию на PageUp? Это вообще технически возможно? Пока что при ошибках при выполнении команд приходится перезапускать процесс через edit:<
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by DrKnS »

Всё что можно уже сделано 7 лет назад - far /w, и уже полтора года как включено по умолчанию.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by techie »

Почему тогда не работает, если включено?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by DrKnS »

Потому что желаемый размер кольцевого буфера устанавливается пользователем самостоятельно в свойствах консоли.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by John Doe »

FAQ 7.4
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by techie »

John Doe wrote: Fri 16 Jun, 2017 13:32FAQ 7.4
Отвалился FAQ. Указывает на app.php/help/faq
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by techie »

Читаю http://forum.farmanager.com/viewtopic.php?f=3&t=5399 включил всё что трэба и увеличил буфер.

1. PageUp/PageDown при выключенных панелях не работают
2. при включенных панелях виден нативный гуёвый скроллбар

А что мешает Far скармливать контроллировать stdin/stdout запущенных через него процессов? Раз он всё равно родитель этих процессов, может он им и отдельный дескриптор для вывода выдаст с отдельным буфером вместо того, чтобы свой шарить?

Тогда ж много чего ещё можно делать научиться, и плагинам удобно будет.
Last edited by techie on Sat 17 Jun, 2017 10:39, edited 2 times in total.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by DrKnS »

techie wrote: Sat 17 Jun, 2017 10:37А что мешает Far скармливать контроллировать stdin/stdout запущенных через него процессов?
Архитектура консоли Windows, куда можно писать не только через stdout.
может он им и отдельный дескриптор для вывода выдаст с отдельным буфером вместо того, чтобы свой шарить?
Отдельный буфер в теории можно, да. Однако, на этот буфер надо будет переключаться каждый раз при запуске программ, его размер будет не совпадать с основным, скроллбары будут появляться и исчезать, потом содержимое этого буфера надо будет частями копировать в основной и к тому же всё потеряется после выхода. Для меня эти недостатки перевесили достоинства.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by techie »

DrKnS wrote: Sat 17 Jun, 2017 12:22Архитектура консоли Windows, куда можно писать не только через stdout.
М-да. Что-то я не подумал про это. Это ведь все цвета и пр. через этот API виндовый. А перехватывать эти вызовы и в своём процессе их отрабатывать нельзя же, да?
DrKnS wrote: Sat 17 Jun, 2017 12:22Однако, на этот буфер надо будет переключаться каждый раз при запуске программ, его размер будет не совпадать с основным, скроллбары будут появляться и исчезать, потом содержимое этого буфера надо будет частями копировать в основной и к тому же всё потеряется после выхода.
Так и так при запуске программ панели на что-то переключаются. Появляющиеся скроллбары в тёмном консольном окне - это норм, главное, чтобы фар себе красивенький скроллбар отрисовывал. Если буфер это просто поток, то копировать его можно ж в реалтайме сразу в несколько потоков. Не очень понятно только как при выходе всё теряется. Если родительский поток создаёт буфер, то почему потомок его будет уничтожать?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by DrKnS »

techie wrote: Sat 17 Jun, 2017 15:43А перехватывать эти вызовы и в своём процессе их отрабатывать нельзя же, да?
Все эти перехваты работают медленно, ненадёжно и убого, зачастую создавая больше проблем, чем решая.
Если буфер это просто поток, то копировать его можно ж в реалтайме сразу в несколько потоков.
Буфер - это то, что показывает консольное окно. Их может быть несколько, один активен, остальные в фоне (если тут кто-то ещё помнит conman, то он как раз об этом).
Если так делать, то фоновый буфер перед запуском программы вытаскивается на поверхность, программа туда пишет, при её завершении он уходит обратно в фон, а фар по Ctrl+O предоставляет такой себе "вьювер" этого буфера, читая оттуда куски по мере необходимости.
Не очень понятно только как при выходе всё теряется. Если родительский поток создаёт буфер, то почему потомок его будет уничтожать?
Потеряется в сценарии "был открыт cmd, из него запустили far, из него что-то позапускали и вышли обратно в cmd" потому что см. выше - буфер в фоне, если из фара выйти - досупа к нему уже не будет.

Если у вас претензии ограничиваются наличием скроллбара - можно смотреть в сторону conemu, он его прячет.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by HaRT »

Вот для меня самое серьёзное неудобство в этой области — это то, что при выполнении консольных команд в NetBox (до того, как их сломали) в буфере под панелям остаётся отпечаток старых панелей, скрывая прежний вывод и сбивая с толку. Решение с раздельными буферами решит эту проблему? Или это ошибка в NetBox?

Чисто концептуально же идея отдельного scrollback-буфера мне нравится больше, чем нынешняя мешанина. Да и что мешает Фару перед выходом перенести scrollback в основной буфер?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Добавить прокруточку в Ctrl-O по PageUp/PageDown

Post by DrKnS »

HaRT wrote: Sat 17 Jun, 2017 22:20 ошибка в NetBox?
Да.
Post Reply

Return to “Предложения и идеи”