-
Notifications
You must be signed in to change notification settings - Fork 6
Formats
In the following table, C1
indicates the bright or bold version of a character, dependng on your terminal configuration. C2
produces the standard (dull/dark) characters of the specified colour, whilst 3
manipulates the background colour.
After the initial table, there are a list of special formatting codes such as %_
and %*
. These behave in exactly the same way as the other colour formatting codes.
Once a code is inserted into a printable string, its attributes will be applied to the string until the next code. %n
and %N
are useful in this matter for resorting the original colour/format of the text in question. %n
reverts to the previous code, whilst %N
switches to the terminal default, which is configured in complete_themes#Misc.
Irssi's colors that you can use in text formats, hilights, etc:
C1 C2 C3 Text Colour (C1) Text Colour (C2) Background (C3)
--------------------------------------------------------------------------
%k %K %0 black dark grey black
%r %R %1 red bold red red
%g %G %2 green bold green green
%y %Y %3 yellow bold yellow yellow
%b %B %4 blue bold blue blue
%m %M %5 magenta bold magenta magenta
%p %P magenta (think: purple)
%c %C %6 cyan bold cyan cyan
%w %W %7 white bold white white
%n %N Changes the color to "default color", removing
all other coloring and formatting. %N is always
the terminal's default color. %n is usually too,
except in themes it changes to "previous color",
ie. hello = "%Rhello%n" and "%G{hello} world"
would print hello in red, and %n would turn back
into %G making world green.
%F Blinking on/off (think: flash)
%U Underline on/off
%8 Reverse on/off
%9 %_ Bold on/off
%: Insert newline
%| Marks the indentation position
%# Monospace font on/off (useful with lists and GUI)
%% A single %
Some terminals do no support all of these attributes, and it may necessary to troubleshooter your terminal for those kinds of problems before blaming irssi.
Irssi supports variable expansion in a number of places, including within formats and templates. The expansion operates are somewhat limited, but are listed below.
Modifier Description
------------------------------------------------------------------------
$variable A normal variable, expanding to the first match of:
| 1) an internal SET variable
| 2) an environment variable
$[num]variable Expands to the variables value, with 'num' width. If
| the number is negative, the value is right-aligned.
| The value is padded to meet the width with the
| character given after number (default is space).
| The value is truncated to specified width unless
| '!' character precedes the number. If '.' character
| precedes the number the value isn't padded, just
| truncated.
$#variable Expands to the number of words in $variable. If $variable
| is omitted, it assumes $*
$@variable Expands to the number of characters in $variable. if
| $variable is omitted, it assumes $*
$($subvariable) This is somewhat similar to a pointer, in that the
| value of $subvar is taken as the name of the
| variable to expand to. Nesting is allowed.
${expression} Permits the value to be embedded in another string
| unambiguously.
$!history! Expands to a matching entry in the client's command
| history, wildcards allowed.
> /set ctcp_version_reply
< ctcp_version_reply = irssi v$J - running on $sysname $sysarch
> /eval echo $ctcp_version_reply
< Irssi v$J - running on $sysname $sysarch
# double eval expands the internal variables.
> /eval /eval echo $ctcp_version_reply
< Irssi v0.8.15-svn - running on Darwin i386
TODO: provide some examples of the various forms of truncation/padding, etc
Whenever an alias is called, these expandos are set to the arguments passed to it. If none of these expandos are used in the alias, or the $()
form shown above, any arguments passed will automatically be appended to the last command in the alias.
Expando Description
------------------------------------------------------------------------
$* expands to all arguments passed to an alias
$n expands to argument 'n' passed to an alias (counting from zero)
$n-m expands to arguments 'n' through 'm' passed to an alias
$n- expands to all arguments from 'n' on passed to an alias
$-m expands to all arguments up to 'm' passed to an alias
$~ expands to the last argument passed to an alias
These variables are set and updated dynamically by the client. The case of $A .. $Z
is important.
Variable Description
------------------------------------------------------------------------
$, last person who sent you a MSG
$. last person to whom you sent a MSG
$: last person to join a channel you are on
$; last person to send a public message to a channel you are on
$A text of your AWAY message, if any
$B body of last MSG you sent
$C current channel
$D last person that NOTIFY detected a signon for
$E idle time
$F time client was started, $time() format
$H current server numeric being processed
$I channel you were last INVITEd to
$J client version text string
$K current value of CMDCHARS
$k first character in CMDCHARS
$L current contents of the input line
$M modes of current channel, if any
$N current nickname
$O value of STATUS_OPER if you are an irc operator
$P if you are a channel operator in $C, expands to a '@'
$Q nickname of whomever you are QUERYing
$R version of current server
$S current server name
$T target of current input (channel or nick of query)
$U value of cutbuffer
$V client release date (format YYYYMMDD)
$W current working directory
$X your /userhost $N address (user@host)
$Y value of REALNAME
$Z time of day (hh:mm, can be changed with /SET timestamp_format)
$$ a literal '$'
$versiontime prints time of the irssi version in HHMM format
$sysname system name (eg. Linux)
$sysrelease system release (eg. 2.2.18)
$sysarch system architecture (eg. i686)
$topic channel topic
$usermode user mode
$cumode own channel user mode
$cumode_space like $cumode, but gives space if there's no mode.
$tag server tag
$chatnet chat network of server
$winref window reference number
$winname window name
$itemname like $T, but use item's visible_name which may be
different (eg. $T = !12345chan, $itemname = !chan)
Much of the content on these pages is taken from original Irssi documentation and is Copyright © 2000-2010 The Irssi project. Formatting and additional documentation, examples, etc by Tom Feist and the other editors of this wiki. This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License. Please see http://creativecommons.org/licenses/by-sa/2.5/ for details.