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.
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.:
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:
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.