Как временно сделать область сообщений Weechat «полной шириной» как irssi?

8

Исходя из этого irssi, я привык копировать и вставлять сообщения из окна просмотра моего терминала (PuTTY), работающего irssiс относительной легкостью, без жестких переносов текста. Это работает, когда irssiзапускается напрямую или когда irssiзапускается в сеансе экрана с текущим окном, в котором установлен размер терминала (т.е. Ctrl- a, :fit).

Как мне добиться чего-то похожего для weechat? При расположении по умолчанию справа weechatрисует границу и перечисляет ники в канале. Слева есть граница для даты / времени и источника сообщения (ник или тип события). Можно ли временно скрыть весь хром окна и представить что-то вроде того, что хранится в журналах?

user314104
источник
Похоже, что уикен не здесь, и у меня нет репутации, чтобы сделать это. Если у кого-то есть репутация, сделайте это соответствующим образом.
user314104
Я закончил тем, что /alias chatmode /bar show nicklist ; /set weechat.look.prefix_align right ; /set weechat.look.align_end_of_lines messageи/alias copymode /bar hide nicklist ; /set weechat.look.prefix_align none ; /set weechat.look.align_end_of_lines time
user314104

Ответы:

12

ОБНОВЛЕНИЕ : Если вы следите за передовыми версиями разработки, недавно был добавлен гораздо более простой способ получения полноразмерной области сообщений для копирования, называемый режимом «чистого отображения» !

По meta-lумолчанию он привязан - /key missingустановите эту привязку клавиш, если ее еще нет в вашей конфигурации - и он отключает весь хром WeeChat, оставляя только отображение в стиле журнала содержимого текущего буфера.

Если у вас нет версий для разработки, следующее решение, использующее набор настроек, все еще работает, но я настоятельно рекомендую использовать режим без дисплея, если он у вас есть.


Ну, вы можете довольно легко убрать ник-лист с дороги или полностью его скрыть. Команды для каждого (соответственно):

/set weechat.bar.nicklist.position top
  and
/bar toggle nicklist

Если вам нужен постоянный список пользователей, можно добавить привязку клавиш, например, так.

/key bind meta-f /bar toggle nicklist

Форматирование слева немного менее прямолинейно. Его можно отключить, выполнив следующие настройки; это исключит границу для обернутых строк (так что вы не получите лишних символов границы) и отключит выравнивание источников сообщений.

/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines time
  To re-enable, the defaults are:
/set weechat.look.prefix_align right
/set weechat.look.align_end_of_lines message

После всего этого вы, скорее всего, все равно получите жесткие переносы в тексте! Настройка следующей опции исправляет это, но она известна тем, что выдает ошибки рендеринга в WeeChat, поэтому не рекомендуется оставлять ее включенной постоянно:

/set weechat.look.eat_newline_glitch on

С учетом всего этого, копирование из WeeChat напрямую должно дать вам что-то довольно близкое к формату вашего журнала.

00dani
источник
Я бы повторил это снова, если бы мог. Спасибо за публикацию с обновлением!
user314104
Я верю, что ключ есть meta-lили Alt-lнет!
Три Нгуен
1
@TriNguyen Ах, это было мета! когда я написал это, но позже был изменен на meta-l, потому что это намного легче печатать.
00дня
Было бы замечательно, если бы был способ переместить время сообщения, чтобы быть сверху псевдонима, сэкономил бы 8 символов пространства столбца.
CMCDragonkai
1

Правильный способ сделать это - использовать Alt+l(aka Meta-l), который переводит терминал в «канонический режим». Это принципиально отличается от других ответов, в которых предлагаются способы скрытия боковых панелей, поскольку он позволяет правильно выполнять выделение текста для переносимого текста, чего не делает скрытие боковых панелей. Это особенно важно при попытке скопировать длинные URL-адреса, размещенные в буферах канала.

Детальное объяснение

Точное поведение TTY в отношении таких вещей, как редактирование и отображение строк, обрабатывается различными флагами, которые можно установить с помощью termios(3)или напрямую с помощью ioctl(2). Они управляют такими вещами, как то, должен ли ввод с клавиатуры автоматически отображаться на экране, и должны ли специальные символы, такие как Backspace или Home / End, обрабатываться обычным способом, или должен ли терминал передавать их напрямую в базовое приложение, чтобы обрабатывать их напрямую.

Вызывается один из этих флагов ICANON, который определяет, находится ли терминал в каноническом режиме. Подробности в termios(3)справочной странице (ссылка выше). Во время обычной работы WeeChat выводит терминал из канонического режима, чтобы он полностью контролировал ввод с клавиатуры и рендеринг на экране. Когда это происходит, эмулятор терминала больше не может определить, когда текст переносится. Если кто-то публикует длинный URL-адрес в WeeChat, когда вы попытаетесь выделить его курсором, вы обнаружите, что выбор слова будет идти до конца строки и не будет автоматически переноситься. Аналогично, если вы вручную выделите весь URL-адрес, в выделенной копии будут новые строки.

С помощью Alt+lWeeChat временно вернется в канонический режим и повторно отобразит экран в виде простого текста. Когда это происходит, ваш терминал может различать завернутый текст, и выбор длинных «слов», таких как URL, будет работать правильно. Когда вы закончите копирование текста, вы можете использовать Alt+lвторой раз, чтобы вернуться в обычный режим.

Эван Клицке
источник
0

или просто сделай;

meta-l 

показывать «сырой» формат через журналы, автоматически удаляет ник и «хром» - также помогает с ссылками «длиннее ширины», по которым, в зависимости от вашего эмулятора терминала, теперь можно нажимать и быть полной ссылкой. это на Джесси версии Wychat: - 1.0.1

wuxmedia
источник
0

Вы можете связать ключ для переключения ников и списков буферов, освобождая большую часть экрана, например:

ctrl-F = "/bar toggle nicklist; /bar toggle buflist"
ideasman42
источник