Table of Contents
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
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
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.
Index
- APT WhatProvides
- Apache wpadmin
- Arch Default Kernel
- Arch Kernel Order
- Bash Add fd
- Bash Dump History
- Bash Trim Whitespace
- CPU Stats
- CSS Reset
- DB2 Info
- Debian Upgrade
- Dell OpenManage
- Diff Lines
- Favicon Things
- Find Examples
- Forgejo Syntax Highlight
- Git Combine Repos
- Git Multi SSH
- Git Quickstart
- Git Rewrite User
- Gitea Mirror
- GitLab Anchors
- Glibc IPv4
- GnuPG Things
- IMAP Sync
- IPv4 Default Gateway
- IPv4 Default IP
- KRB5 Empty Keytab
- Kernel Boot Debug
- Kernel Decompress
- LUKS Encrypted Partitions
- Linux Valid Usernames
- Loopback FS
- MP3 Get Tags
- MX Tarpit
- Makefile Template
- Markdown Samples
- Mount OVA
- Mount qcow2
- MySQL Connections
- NFS 10G Tuning
- Netcat Replacements
- PAM Namespace
- Postfix Headers
- Proxmox Doodads
- RPM Info
- Radeon Temperature
- Recover Deleted ext3
- Recursive Unzip
- Roku Info
- SSH RSA Support
- SSL Certgen
- Samba OSX
- Server Notes
- Smem Datamash
- Split Disk
- systemd PID1
- TCP Kill
- Thunderbird LDAP AD
- uBlock Filters
- udev Hide Partitions
- Weechat Quickstart
- YTM to Textbox
- YUM Disablerepos
- SPDX-License-Identifier: CC-BY-SA-4.0
- SPDX-License-Identifier: MIT