weechat howto
Weechat (We Enhanced Environment for Chat) is a lightweight, extensible, console based irc client. It is written in C and licensed under GNU GPL3.
Launch weechat from console with the weechat-curses command.
One of the most important commands is the /help command. So, when in doubt use /help. Also using the command /set config.section.option will print the value of config.section.option and if you want to set a value to an option you type /set config.section.option value Anyway, lets start by building our configuration to connect to freenode.
Start by printing all irc.server values.
/set irc.server.
you will get the response:
[server]
irc.server.freenode.addresses = "chat.freenode.net/6667"
irc.server.freenode.autoconnect
irc.server.freenode.autojoin
irc.server.freenode.autoreconnect
irc.server.freenode.autoreconnect_delay
irc.server.freenode.autorejoin
irc.server.freenode.autorejoin_delay
irc.server.freenode.command
irc.server.freenode.command_delay
irc.server.freenode.ipv6
irc.server.freenode.local_hostname
irc.server.freenode.nicks
irc.server.freenode.password
irc.server.freenode.proxy
irc.server.freenode.realname
irc.server.freenode.sasl_mechanism
irc.server.freenode.sasl_password
irc.server.freenode.sasl_timeout
irc.server.freenode.sasl_username
irc.server.freenode.ssl
irc.server.freenode.ssl_cert
irc.server.freenode.ssl_dhkey_size
irc.server.freenode.ssl_verify
irc.server.freenode.username
As you can see freenode is already in the configuration by default (irc.server.freenode.addresses = “chat.freenode.net/6667”). If you need to add another server use e.g.:
/server add oftc irc.oftc.net/6667
Now, all we need to do is set the rest of the values for the freenode server. To get help for a particular option -including the list of expected values- type e.g.:
/help irc.server.freenode.autoconnect
So, we want to connect to freenode by default and reconnect automatically in case of connection problems:
/set irc.server.freenode.autoconnect on
/set irc.server.freenode.autoreconnect on
Next we need to automatically join some channels, for multiple channels use commas as separators without spaces:
/set irc.server.freenode.autojoin = "#archlinux,#archlinux-offtopic,#archlinux-greece"
After that we need to set our nicknames (also comma separated), username and realname (these are optional):
/set irc.server.freenode.nicks = "nick1,nick2,nick3"
/set irc.server.freenode.username = "my-user-name"
/set irc.server.freenode.realname = "my-real-name"
Last but not least set the irc command to identify with the freenode server with :
/set irc.server.freenode.command = "/msg NickServ identify <your-password-goes-here>"
Save your configuration with the /save command and restart weechat, /EXIT exits weechat. Now you should be connected to freenode!
Time for some keybindings!!
- F5 / F6 : Cycle through the buffers
- PageUp / PageDown : scroll up/down main chat area
- F11 / F12 : scroll nickname list up/down
If you are running terminator and have problems with F11 interpreted as “go to full screen” add this to your ~/.config/terminator/config :
[keybindings]
full_screen = Disabled
If you have the same problem with xfce Terminal go to Edit -> Preferences -> Shortcuts and kill the nasty fullscreen shortcut!
Lastly the cool stuff!
Weechat allows you to split the screen and have multiple channels open at the same time. Use the /window splitv to vertically split the screen and /window splith to horizontally split the screen. You can also provide a percentage to unevenly split the screen and use /window merge all to unify all buffers to default.
When you are happy with your window layout save it:
/layout save
To automatically save window layout on exit use :
/set weechat.look.save_layout_on_exit all
When in split mode use F7 / F8 to cycle through the active windows-buffers.
More resources: