WeeChat – my favorites scripts

WeeChat scripts

Here is my list of favorite WeeChat scripts


WeeChat beep

Receive a beep or run a command on highlight, private message, DCC, blacklist, whitelist, trigger. Though it may sound complicated at first, the default settings should be suitable for most users. This is my case. By default, highlights, privates messages and DCCs are on. Let’s install it :

/script install beep.pl


WeeChat buffers

Display a sidebar with the names of all buffers. You can scroll the bar with the mouse if you have previously enabled it (alt+m). You can even drag and drop the buffers around. Since I use this, I join more channels.

I have seen a lot of users asking how to put that sidebar at the bottom of the screen, here is how as pointed out by the WeeChat’s FAQ:

/set weechat.bar.buffers.position bottom


WeeChat highmon

Create a buffer that contains highlight message. You can then show it permanently by splitting your screen in 2 part with :

/window splith 12
/buffer highmon
/layout save

Here is my custom layout


WeeChat iset

Allow you to change option dynamically with a menu. You can not only search option by name but you can also search by value. This is by far better than using /set because you have a description of the option at the top and it is less error prone.


WeeChat allquery

This script adds the command allquery, a good companion to the builtin commands allserv and allchan. I use this script to close all private msg at once. If there is another way to achieve this, please let me know!

/script install allquery.py
/allquery /buffer close

You can also use it to let people know you’re leaving :

/allquery /say gtg see ya later!

And maybe create an alias :

/alias GB /allquery /say gtg see ya later!

Or bind a key :

/key bind ctrl-G /allquery /say gtg see ya later!


WeeChat alternatetz

This script creates a bar item containing the timezone of your choice. I use this script to display the CET timezone on french channel like #weechat-fr. I do not put the item manually in the weechat.bar.status.items list. I prefer to use the customize_bar.py script because it easier to manage many channel. See my article on this topic.


This script lets you automatically set buffer properties upon buffer creation. For example, if you type

/query r3m
/buffer set title My best friend !

and you close the query and reopen it, the custom message will have disappeared. Now, type :

/script install buffer_autoset.py
/autosetbuffer add irc.freenode.r3m title My best friend !

But wait. the text did not appeared? You must close the query and reopen it the first time to make it work. You can also use the /buffer then the /autosetbuffer command instead.

I already wrote an article on the subject.


This script lets you customize the title/status/input bars differently depending on the current buffer. I use it in conjunction with the alternatetz.py script.


WeeChat text_item

This script lets you create your own bar item with the content of your choice. I wrote a tutorial on how to write WeeChat in color in the status bar.


WeeChat - Urlserver

This is famous, without modifying the appeareance of WeeChat, you gonna have trouble with long url. This script lets you create your own URL shortener service. Each time someone write an URL, this script will append the shortened URL on his own line below the sender text. It is, with iset, the most essential script (in my opinion).

I wrote an article about how to set up urlserver here

Yup, the grep.py, shell.py, cron.py and a lot more great and maybe essentials scripts do not appear in this post. I am still a new user to WeeChat, I did not needed them yet.


2 thoughts on “WeeChat – my favorites scripts

  1. A script I find extremely useful is colorize_lines.pl, by default, I think, it colorizes all the lines of every nick with their respective nick color, but I find that if you colorize only a set of users (like yourself, some channel bot, and some people that write interesting comments) keeping track of what those users say is much easier.

    Another script that I find great is go.py. I have it binded to a key, so whenever I press that key a menu with all channels show up, and I type the name of a channel, only channels that contains those keys show up. Really useful for when you are in a lot of channels and do not remember on which buffer which channel was. It allows you to quickly navigate to the buffers you want.

    Lastly, I’m quite fond of query_blocker.pl, it blocks all queries that do not match a specified whitelist. I only keep my friends in my whitelist, if somebody wants to talk to me he/she can request a PM in a channel and when I write /query that nick is automatically and temporarily allowed to query you. (Btw, when you block a query that person can receive a personalized message, such as, “I am using a query blocker script. Please request, in a public channel, to be whitelisted”)

    I love all the attention you give to weechat, as it’s one of my favorite software. Keep it up! :)

    • Hi bpeak

      First, thanks a lot for your comment! I heard two of the script you mention, go and colorize_lines, but you explain so well that I think i gonna give a try to both! The last one, query_blocker looks awesome, I install it right now. WeeChat is one of my favorite software too! I hope my english is not too bad. I try my best, Thanks again

Leave a Reply