2 Weechat Quickstart
tengel edited this page 2024-07-16 10:08:41 -05:00

Weechat Quickstart

I use a 100x30 terminal window with tmux running weechat, the visual settings below are tuned to keep it from looking like a mess. Really long nicknames start resizing the weechat windows/buffers when left at the default settings.

Core Settings

Buffer config settings; restart weechat before adding/joining servers:

/set irc.look.server_buffer independent
/set irc.look.new_channel_position near_server
/set irc.look.new_pv_position near_server

/set weechat.look.buffer_time_format "%H:%M"
/secure passphrase xxxxxxxxx
/save

Set a hard max size on buflist, chat and nicklist (100x30 terminal):

/set weechat.bar.buflist.size_max 17
/set weechat.look.prefix_align_max 11
/set weechat.bar.nicklist.size_max 15

Filter out join/part/quit (see /fset irc.look.smart*)

/filter add irc_smart * irc_smart_filter *

Set default user info:

/set irc.server_default.nicks "nick,nick1,nick2,nick3,nick4"
/set irc.server_default.username "nick"
/set irc.server_default.realname "nick"

Reduce the amount of personal information shared:

/set logger.file.auto_log off
/set irc.server_default.msg_part ""
/set irc.server_default.msg_quit ""
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""

More settings to help secure, filter and anonymize to taste:

Networks and Channels

Reference

Configure Libera and/or OFTC:

/server add libera irc.libera.chat/6697 -tls
/set irc.server.libera.nicks "nick,nick2,nick3"
/set irc.server.libera.username "nick"
/set irc.server.libera.realname "nick"

/server add oftc irc.oftc.net/6697 -tls
/set irc.server.oftc.nicks "nick,nick2,nick3"
/set irc.server.oftc.username "nick"
/set irc.server.oftc.realname "nick"

Protect your login on Libera; Libera will set a cloak automatically:

/connect libera
/msg nickserv register <password> <email>
 (email) /msg nickserv VERIFY REGISTER <nick> <tempcode>
/secure set libera_password xxxxxxxxxxx
/set irc.server.libera.sasl_username "nick"
/set irc.server.libera.sasl_password "${sec.data.libera_password}"

Potect your login on OFTC - Nickserv Validation:

/connect oftc
/msg nickserv register <password> <email>
/msg nickserv set cloak on
/secure set oftc_password xxxxxxxxxxx
/set irc.server.oftc.command "/eval /msg nickserv identify ${sec.data.oftc_password}"

Automatically join things:

/set irc.server.libera.autoconnect on
/set irc.server.libera.autojoin "#chan1,##chan2"

/set irc.server.oftc.autoconnect on
/set irc.server.oftc.autojoin "#chan1,##chan2"

Set up a channel to keep running on it's own on Libera:

/j ##foobar
/msg chanserv register ##foobar
/msg chanserv flags ##foobar nick_of_other_founder +F
/msg chanserv flags ##foobar nick_of_other_op +votsriRefA
/msg chanserv set ##fobar guard on

Keyboard Shortcuts

Reference

The below table reflects common keystrokes which actually work in my mate-terminal:

Shortcut Command Description
Pgup Move up one page in the channel scrollback
Alt+Home Move to beginning of the channel scrollback
PgDn Move down one page in the channel scrollback
Alt+End Move to the end of the channel scrollback
F5 /buffer -1 Switch to previous buffer
F6 /buffer +1 Switch to next buffer
Alt+# /buffer # Switch to numbered buffer 1-9
Alt+j,## /buffer ## Switch to numbered buffer 10-99
Alt+l /window bare Switch to bare display of current window
F7 /window -1 Switch to previous window
F8 /window +1 Switch to next window
Ctrl+F1 /bar scroll buflist * -100% Scroll up one page in buffer list
Ctrl+F2 /bar scroll buflist * +100% Scroll down one page in buffer list
Alt+F11 /bar scroll nicklist * b Scroll to beginning of nick list
Alt+F12 /bar scroll nicklist * e Scroll to end of nick list

F11 is typically trapped as "Full Screen" by many Linux desktops; F1, F2, Alt+F1, Alt+F2, Ctrl+F11 and Ctrl+F12 are usually trapped for other desktop actions as well. Some documented keystrokes such as Alt+PgUp simply do nothing for me and seem dead, however documentation indicates they should work so your mileage may vary depending on specific terminal type being used.

Mapping Keys

Shortcut Command Description
Ctrl+F9 /bar scroll title * -30% Scroll buffer’s title on the left
Ctrl+F10 /bar scroll title * +30% Scroll buffer’s title on the right
Ctrl+F11 /bar scroll nicklist * -100% Scroll Scroll up one page in nicklist
Ctrl+F12 /bar scroll nicklist * +100% Scroll down one page in nicklist

The default bindings for F9 / F10 are trapped by the window manager and have no alternate binding. By default Ctrl+F9 and Ctrl+F10 are not used, so we can map those to the same actions:

/key bind ctrl-f9 /bar scroll title * -30%
/key bind ctrl-f10 /bar scroll title * +30%

The official documentation indicates Ctrl+F11 / Ctrl+F12 are mapped to scrolling the nicklist buffer, however they do not seem to actually work out of the box. Map them as documented:

/key bind ctrl-f11 /bar scroll nicklist * -100%
/key bind ctrl-f12 /bar scroll nicklist * +100%

To map a keystroke without knowing it's code ("meta2-20;5~" e.g.), type Alt-k and then type the keystroke to map and weechat will insert the correct code for you.

Filters

Filter out a "sed bot" which is just unnecessary spam (the inference is implied), replace "FOO" with the name of the irc channel profile created above (libera, oftc, etc.) and BAR with the nick of the bot name.

/filter addreplace BAR_sed irc.FOO.* nick_BAR ^\[Sed\]

Adjust the regex on the right to the specific bot output.