weechat | Cheatsheetn¶
This is how I use weechat to be comfortable on a daily basis in my main chat client
Installation¶
Getting started¶
mkdir -p ~/.weechat/python/autoload/
mkdir -p ~/.weechat/ssl
wget -q https://weechat.org/files/temp/theme/theme.py -P ~/.weechat/python/
ln -s ~/.weechat/python/theme.py ~/.weechat/python/autoload
chmod +x ~/.weechat/python/theme.py
chown -R wuseman:wuseman ~/.weechat/
weechat --dir ~/.weechat
Install required tools for the script below to work¶
Install scripts Scripts¶
/set script.scripts.download_enabled on
/script install autojoin.py autosort.py autosavekey.py autojoin_on_invite.py colorize_nicks.py
/script install colorize_nicks.py grep.py grep_filter.py highmon.pl fish.py whois_on_query.py himan.py
Misc¶
/set weechat.bar.title.hidden off
/set script.scripts.download_enabled true
/mouse enable
/set irc.look.color_nicks_in_nicklist on
/set weechat.bar.nicklist.size 14
/set weechat.bar.nicklist.size_max 14
/set irc.look.notify_tags_whois "notify_highlight"
/set irc.network.whois_double_nick on
/set irc.look.item_channel_modes_hide_args ""
/set irc.look.nicks_hide_password ""
/set irc.look.notify_tags_whois "notify_message"
/set irc.look.server_buffer merge_without_core
/set weechat.look.item_time_format "%H:%M:%S"
/set weechat.look.quote_time_format "%H:%M:%S"
/set irc.server_default.autoreconnect_delay 30
/set irc.server_default.autoconnect "on"
/set irc.server_default.ipv6 off
/set irc.server_default.msg_kick "bye"
/set irc.server_default.msg_part "https://www.nr1.nu - parted!"
/set irc.server_default.msg_quit "https://www.nr1.nu - quit!"
/set irc.msgbuffer.whois private
/set irc.server_default.nicks "wuseman,_wuseman,^wuseman,|wuseman"
/set irc.server_default.realname "wuseman"
/set irc.server_default.password "<password>"
/set irc.server_default.ssl on
/set irc.server_default.ssl_verify on
/set weechat.look.prefix_align_max 14
/set buflist.look.nick_prefix on
/set weechat.bar.status.separator on
/set weechat.bar.title.separator on
/set weechat.bar.input.separator on
/set weechat.bar.title.size 2
/set weechat.bar.status.separator on
/set weechat.bar.title.size_max 4
/set weechat.bar.input.separator on
/set weechat.bar.input.size 2
/set weechat.bar.input.size_max 2
/set irc.server_default.autoreconnect_delay 10
/set irc.server_default.autorejoin_delay 5
/set logger.file.flush_delay 0
Logging Disable (recommended)¶
Logging Enable¶
/set logger.file.color_lines on
/set logger.file.flush_delay 0
/set logger.file.info_lines on
/set xfer.file.download_path "~/downloads"
/set logger.file.path "~/logs/weechat"
/set logger.mask.irc %Y/$server/$channel.%m-%d.log
/set logger.file.time_format "[%Y-%m-%d %H:%M:%S]"
/set logger.file.nick_prefix "<"
/set logger.file.nick_suffix ">"
/set plugins.var.perl.highmon.logging "on"
/save
Adding Servers¶
This is just a very simple and minimal display example, edit to your own details before copying in
bash
/server add LiberaChat znc.nr1.nu/65001 -ssl -ssl_verify=off -autoconnect -username=wuseman/LiberaChat -password=<password>
/set irc.server.LiberaChat.command "/msg nickserv identify <password>;/msg chanserv OP #channel;/msg chanserv OP #Nr1;/msg chanserv INVITE #channel; /msg chanserv INVITE #channel"
/server add Bitlbee localhost/6667 -autoconnect -username=wuseman
/set irc.server.Bitlbee.ssl off
/set irc.server.Bitlbee.ssl_verify off
/save
/quit
Configure autojoin plugin¶
Configure colorize nicks¶
/set colorize_nicks.look.blacklist_channels ""
/set colorize_nicks.look.blacklist_nicks ""
/set colorize_nicks.look.colorize_input on
/set colorize_nicks.look.greedy_matching on
/set colorize_nicks.look.ignore_nicks_in_urls off
/set colorize_nicks.look.ignore_tags ""
/set colorize_nicks.look.match_limit 20
/set colorize_nicks.look.min_nick_length 2
Himan¶
/set plugins.var.python.himan.notify on
/set weechat.notify.python.himan hilight
/set plugins.var.python.himan.only_away highlight
/set plugins.var.python.himan.nick_color lightmagenta
/set plugins.var.python.himan.buffer_color green
/set plugins.var.python.himan.outp_sep " |"
/set plugins.var.python.himan.outp_sep_color "yellow"
/set plugins.var.python.himan.outp_left "["
/set plugins.var.python.himan.outp_right "]"
/save
Print supported colors for terminal¶
for ((i=0; i<=255; i++))
do
color=$(printf "#%02x%02x%02x" $i 0 $i)
printf "%3d: \e[38;5;${i}m${color}\e[0m\n" $i
done
Colors¶
/set weechat.look.buffer_time_format %H:%M:%S
/set weechat.color.chat_nick_colors "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue,31,35,38,40,49,63,70,80,92,99,112,126,130,138,142,148,160,162,167,169,174,176,178,184,186,210,212,215,247"
/set weechat.look.prefix_align_max 12
/set weechat.look.prefix_align_max 12
Alias¶
/alias del AAWAY
/alias del ANICK
/alias del BEEP
/alias del BYE
/alias del C
/alias del CHAT
/alias del CL
/alias del CLOSE
/alias del EXIT
/alias del IG
/alias del J
/alias del K
/alias del KB
/alias del LEAVE
/alias del M
/alias del MSGBUF
/alias del MUB
/alias del N
/alias del Q
/alias del REDRAW
/alias del SAY
/alias del SIGNOFF
/alias del T
/alias del UB
/alias del UMODE
/alias del V
/alias del W
/alias add wc buffer close
/alias add call buffer clear -all
/alias add w buffer
Key bind¶
/key bind meta-, /window scroll_up
/key bind meta-- /window scroll_down
/key bind meta-t /bar toggle nicklist # Toggle nicklist bar
#/key bind meta-g /buffer #gentoo # Jump to #gentoo IRC channel
/key reset meta-r # Restore default binding for key alt-r
/key bindctxt search ctrl-I /input search_stop # Key "tab" to stop search in buffer
/key bind ctrl-L /buffer clear -all # Clear all buffers
/key bind ctrl-c /buffer close # Close current buffer
Undbinding¶
Glowing Bear¶
mkdir -p ~/.weechat/ssl
cat /etc/letsencrypt/live/chat.nr1.nu/{fullchain,privkey}.pem > ~/.weechat/ssl/relay.pem
chown -R wuseman:wuseman ~/.weechat/ssl/
Relay¶
/relay sslcertkey
/relay add weechat 9002
/relay add ssl.weechat 9001
/set relay.network.password <password>
/set relay.irc.backlog_time_format "[%H:%M:%S]"
/set relay.network.ipv6 off
/set relay.network.max_clients 2
/save