# When testing changes, the easiest way to reload the theme is with /RELOAD. # This reloads the configuration file too, so if you did any changes remember # to /SAVE it first. Remember also that /SAVE overwrites the theme file with # old data so keep backups :) # TEMPLATES: # The real text formats that irssi uses are the ones you can find with # /FORMAT command. Back in the old days all the colors and texts were mixed # up in those formats, and it was really hard to change the colors since you # might have had to change them in tens of different places. So, then came # this templating system. # Now the /FORMATs don't have any colors in them, and they also have very # little other styling. Most of the stuff you need to change is in this # theme file. If you can't change something here, you can always go back # to change the /FORMATs directly, they're also saved in these .theme files. # So .. the templates. They're those {blahblah} parts you see all over the # /FORMATs and here. Their usage is simply {name parameter1 parameter2}. # When irssi sees this kind of text, it goes to find "name" from abstracts # block below and sets "parameter1" into $0 and "parameter2" into $1 (you # can have more parameters of course). Templates can have subtemplates. # Here's a small example: # /FORMAT format hello {colorify {underline world}} # abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; } # When irssi expands the templates in "format", the final string would be: # hello %G%Uworld%U%n # ie. underlined bright green "world" text. # and why "$0-", why not "$0"? $0 would only mean the first parameter, # $0- means all the parameters. With {underline hello world} you'd really # want to underline both of the words, not just the hello (and world would # actually be removed entirely). # COLORS: # You can find definitions for the color format codes in docs/formats.txt. # There's one difference here though. %n format. Normally it means the # default color of the terminal (white mostly), but here it means the # "reset color back to the one it was in higher template". For example # if there was /FORMAT test %b{foo}bar, and foo = "%Y$0%n", irssi would # print yellow "foo" (as set with %Y) but "bar" would be green, which was # set at the beginning before the {foo} template. If there wasn't the %b # at start, the normal behaviour of %n would occur. If you _really_ want # to use the terminal's default color, use %N. ############################################################################# # default foreground color (%N) - -1 is the "default terminal color" default_color = "-1"; # these characters are automatically replaced with specified color # (dark grey by default) replaces = { }; abstracts = { ## ## generic ## # text to insert at the beginning of each non-message line line_start = "%b-%r!%b-%n"; # timestamp styling, nothing by default timestamp = "%K$*%n"; # any kind of text that needs hilighting, default is to bold #hilight = "%W$*%n"; #hilight = "%_$*%_"; # any kind of error message, default is bright red error = "%r$*%n"; infomessage = "%gInfo:%n $*"; acknowledgedmessage = "%bAcknowledged:%n $*"; warningmessage = "%yWarning:%n $*"; errormessage = "%rError:%n $*"; attentionmessage = "%YAttention:%n $*"; channelmessage = "%bChannel:%n $*"; usermessage = "%cUser:%n $*"; # channel name is printed channel = "%b$*%n"; # nick is printed nick = "%g$*%g%n"; # nick host is printed nickhost = "%b[%g$*%b]%n"; # server name is printed server = "%B$*%n"; # some kind of comment is printed comment = "%B$*"; # reason for something is printed (part, quit, kick, ..) reason = "(%B{comment $*}%n)"; # mode change is printed ([+o nick]) mode = "[%B{comment $*}%n]"; ## ## channel specific messages ## # highlighted nick/host is printed (joins) channick_hilight = "%g$*%n"; chanhost_hilight = "{nickhost %g$*%n}"; # nick/host is printed (parts, quits, etc.) channick = "%w%9$*%n"; chanhost = "{nickhost $*}"; # highlighted channel name is printed channelhilight = "%c$*%n"; # ban/ban exception/invite list mask is printed ban = "%c$*%n"; ## ## messages ## # the basic styling of how to print message, $0 = nick mode, $1 = nick msgnick = "$0$1- %|"; # message from you is printed. "msgownnick" specifies the styling of the # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the # whole line. # Example1: You want the message text to be green: # ownmsgnick = "{msgnick $0 $1-}%b"; # Example2.1: You want < and > chars to be yellow: # ownmsgnick = "%Y{msgnick $0 $1-%Y}%n"; # (you'll also have to remove <> from replaces list above) # Example2.2: But you still want to keep <> grey for other messages: # pubmsgnick = "%K{msgnick $0 $1-%K}%n"; # pubmsgmenick = "%K{msgnick $0 $1-%K}%n"; # pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n"; # ownprivmsgnick = "%K{msgnick $*%K}%n"; # privmsgnick = "%K{msgnick %R$*%K}%n"; # $0 = nick mode, $1 = nick ownmsgnick = "{msgnick $0 $1-}"; ownnick = "%b$*%n"; # public message in channel, $0 = nick mode, $1 = nick pubmsgnick = "{msgnick $0 $1-}"; pubnick = "%N$*%n"; # public message in channel meant for me, $0 = nick mode, $1 = nick pubmsgmenick = "{msgnick $0 $1-}"; menick = "%r$*%n"; # public highlighted message in channel # $0 = highlight color, $1 = nick mode, $2 = nick pubmsghinick = "{msgnick $1 $0$2-%n}"; # channel name is printed with message msgchannel = "%K:%c$*%n"; # private message, $0 = nick, $1 = host privmsg = "%w[%r$0%w ]%n "; # private message from you, $0 = "msg", $1 = target nick ownprivmsg = "%w[%r$1%w ]%n "; # own private message in query ownprivmsgnick = "{msgnick $*}"; ownprivnick = "%r$*%n"; # private message in query privmsgnick = "{msgnick %r$*%n}"; ## ## Actions (/ME stuff) ## # used internally by this theme action_core = "%b * $*%n"; # generic one that's used by most actions action = "{action_core $*} "; # own action, both private/public ownaction = "{action $*}"; # own action with target, both private/public ownaction_target = "{action_core $0}%K:%c$1%n "; # private action sent by others pvtaction = "%b (*) $*%n "; pvtaction_query = "{action $*}"; # public action sent by others pubaction = "{action $*}"; ## ## other IRC events ## # whois whois = " $[8]0 : $1-"; # notices ownnotice = "[%r$0%K(%r$1-%K)]%n "; notice = "%K-%G$*%K-%n "; pubnotice_channel = "%K:%g$*%n"; pvtnotice_host = "%K(%g$*%K)%n"; servernotice = "%b!$*%n "; # CTCPs ownctcp = "[%r$0%K(%r$1-%K)] "; ctcp = "%b$*%n"; # wallops wallop = "%r$*%n: "; wallop_nick = "%n$*"; wallop_action = "%r * $*%n "; # netsplits netsplit = "%r$*%n"; netjoin = "%c$*%n"; # /names list names_prefix = " %w-%c-%b-%n| "; names_nick = "[%_$0%_$1-] "; names_nick_op = "{names_nick $*}"; names_nick_halfop = "{names_nick $*}"; names_nick_voice = "{names_nick $*}"; names_users = "[%b$*%n]"; names_channel = "%g$*%n"; # DCC dcc = "%b$*%n"; dccfile = "%r$*%n"; # DCC chat, own msg/action dccownmsg = "[%r$0%K($1-%K)%n] "; dccownnick = "%r$*%n"; dccownaction = "{action $*}"; dccownaction_target = "{action_core $0}%K:%g$1%n "; # DCC chat, others dccmsg = "[%g$1-%K(%b$0%K)%n] "; dccquerynick = "%g$*%n"; dccaction = "%r (*dcc*) $*%n %|"; ## ## statusbar ## # default background for all statusbars sb_background = "%b"; # default backround for "default" statusbar group #sb_default_bg = "%4"; # background for prompt / input line sb_prompt_bg = ""; # background for info statusbar sb_info_bg = ""; # background for topicbar (same default) sb_topic_bg = "%w"; # text at the beginning of statusbars. sb-item already puts # space there,so we don't use anything by default. sbstart = ""; # text at the end of statusbars. Use space so that it's never # used for anything. sbend = " "; prompt = "[$*]: "; sb = " %c[%n$*%c]%n"; sbmode = "(%c+%n$*)"; sbaway = " (%GzZzZ%n)"; sbservertag = ":$0 (change with ^X)"; # activity in statusbar # ',' separator sb_act_sep = "%c$*"; # normal text sb_act_text = "%c$*"; # public message sb_act_msg = "%r$*"; # hilight sb_act_hilight = "%R$*"; # hilight with specified color, $0 = color, $1 = text sb_act_hilight_color = "$0$1-%n"; sb_lightbar_bg = "%c"; lightbar_selected_item = "%w$0%n"; lightbar_hilighted_item = "%y$0%n"; lightbar_activated_item = "%c$0%n"; }; formats = { "fe-common/irc" = { notice_server = "%w{servernotice $[-10]0}$1"; no_netsplits = "{errormessage There are no net splits}"; ircnet_added = "{acknowledgedmessage Ircnet $0 saved}"; ircnet_removed = "{acknowledgedmessage Ircnet $0 removed}"; ircnet_not_found = "{errormessage Ircnet $0 not found}"; joinerror_toomany = "{errormessage Cannot join to channel {channel $0} (You have joined to too many channels)}"; joinerror_full = "{errormessage Cannot join to channel {channel $0} (Channel is full)}"; joinerror_invite = "{errormessage Cannot join to channel {channel $0} (You must be invited)}"; joinerror_banned = "{errormessage Cannot join to channel {channel $0} (You are banned)}"; joinerror_bad_key = "{errormessage Cannot join to channel {channel $0} (Bad channel key)}"; joinerror_bad_mask = "{errormessage Cannot join to channel {channel $0} (Bad channel mask)}"; joinerror_unavail = "{errormessage Cannot join to channel {channel $0} (Channel is temporarily unavailable)}"; joinerror_duplicate = "{errormessage Channel {channel $0} already exists - cannot create it}"; channel_rejoin = "{errormessage Channel {channel $0} is temporarily unavailable, this is normally because of netsplits. Irssi will now automatically try to rejoin back to this channel until the join is successful. Use /RMREJOINS command if you wish to abort this.}"; inviting = "{channelmessage Inviting {nick $0} to {channel $1}}"; channel_created = "{channelmessage Channel {channelhilight $0} created $1}"; url = "{channelmessage Home page for {channelhilight $0}: $1}"; topic = "{channelmessage Topic for {channelhilight $0}: $1}"; no_topic = "{channelmessage No topic set for {channelhilight $0}}"; topic_info = "{channelmessage Topic set by {nick $0} {comment $1}}"; chanmode_change = "{channelmessage mode/{channelhilight $0} {mode $1} by {nick $2}}"; server_chanmode_change = "{channelmessage {netsplit ServerMode}/{channelhilight $0} {mode $1} by {nick $2}}"; bantype = "{acknowledgedmessage Ban type changed to {channel $0}}"; no_bans = "{infomessage No bans in channel {channel $0}}"; no_invitelist = "{infomessage Invite list is empty in channel {channel $0}}"; no_such_channel = "{errormessage {channel $0}: No such channel}"; channel_synced = "{channelmessage Join to {channel $0} was synced in {hilight $1} secs}"; usermode_change = "{usermessage Mode change {mode $0} for user {nick $1}}"; user_mode = "{acknowledgedmessage Your user mode is {mode $0}}"; away = "{acknowledgedmessage You have been marked as being away}"; unaway = "{acknowledgedmessage You are no longer marked as being away}"; nick_away = "{warningmessage {nick $0} is away: $1}"; no_such_nick = "{errormessage {nick $0}: No such nick/channel}"; nick_in_use = "{errormessage Nick {nick $0} is already in use}"; nick_unavailable = "{errormessage Nick {nick $0} is temporarily unavailable}"; your_nick_owned = "{infomessage Your nick is owned by {nick $3} {comment $1@$2}}"; whois_not_found = "{errormessage There is no such nick $0}"; own_notice = "{ownnotice notice $0}$1"; own_action = "{ownaction $[-12]0}$1"; own_action_target = "{ownaction_target $[-14]0}$1"; own_ctcp = "{ownctcp ctcp $0}$1 $2"; notice_public = "{notice $0{pubnotice_channel $1}}$2"; notice_private = "{notice $0}$2"; action_private = "{pvtaction $0}$2"; action_private_query = "{pvtaction_query $0}$2"; action_public = "{pubaction \00311$[-12]0%n}$1"; action_public_channel = "{pubaction \00311$[-11]0 %g({msgchannel $1})%n}$2"; kill = "{attentionmessage You were {error killed} by {nick $0} {nickhost $1} {reason $2} {comment Path: $3}}"; kill_server = "{attentionmessage You were {error killed} by {server $0} {reason $1} {comment Path: $2}}"; unknown_mode = "{errormessage Unknown mode character $0}"; not_chanop = "{errormessage You're not channel operator in {channel $0}}"; silenced = "{acknowledgedmessage Silenced {nick $0}}"; unsilenced = "{acknowledgedmessage Unsilenced {nick $0}}"; default_event = "$1 [$0]"; }; "fe-common/core" = { pubmsg = "{pubmsgnick $2 {pubnick %g$[-13]0 %n| }}$1"; pubmsg_channel = "{pubmsgnick $3 {pubnick %g$[-13]0} %n| %g({msgchannel $1})%n}$2"; line_start = " %w-%c-%C-%n| %n"; line_start_irssi = " {line_start}%n| %rIrssi: %n"; servertag = "[%b$0%n]"; refnum_too_low = "{errormessage Window number must be greater than 1}"; error_server_sticky = "{errormessage Window's server is sticky and it cannot be changed without -unsticky option}"; set_server_sticky = "{acknowledgedmessage Window's server set sticky}"; unset_server_sticky = "{acknowledgedmessage Window's server isn't sticky anymore}"; window_level = "{acknowledgedmessage Window level is now $0}"; windows_layout_saved = "{infomessage Layout of windows is now remembered next time you start irssi}"; windows_layout_reset = "{infomessage Layout of windows reset to defaults}"; looking_up = "{infomessage Looking up {server $0}}"; connecting = "{infomessage Connecting to {server $0} [$1] port {hilight $2}}"; connection_established = "{infomessage Connection to {server $0} established}"; cant_connect = "{errormessage Unable to connect server {server $0} port {hilight $1} {reason $2}}"; connection_lost = "{errormessage Connection lost to {server $0}}"; lag_disconnected = "{warningmessage No PONG reply from server {server $0} in $1 seconds, disconnecting}"; disconnected = "{infomessage Disconnected from {server $0} {reason $1}}"; server_quit = "{infomessage Disconnecting from server {server $0}: {reason $1}}"; unknown_server_tag = "{errormessage Unknown server tag {server $0}}"; no_connected_servers = "{errormessage Not connected to any servers}"; server_reconnect_removed = "{acknowledgedmessage Removed reconnection to server {server $0} port {hilight $1}}"; server_reconnect_not_found = "{errormessage Reconnection tag {server $0} not found}"; setupserver_added = "{acknowledgedmessage Server {server $0} saved}"; setupserver_removed = "{acknowledgedmessage Server {server $0} removed}"; setupserver_not_found = "{errormessage Server {server $0} not found}"; your_nick = "{infomessage Your nickname is {nick $0}}"; join = "%b---> {channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}"; part = "%b<--- {channick $0} {chanhost $1} has left {channel $2} {reason $3}"; kick = "%R!!!!%n {channick $0} was kicked from {channel $1} by {nick $2} {reason $3}"; quit = "%b<<-- {channick $0} {chanhost $1} has quit {reason $2}"; quit_once = "%b<<-- {channel $3} {channick $0} {chanhost $1} has quit {reason $2}"; invite = "{attentionmessage {nick $0} invites you to {channel $1}}"; not_invited = "{errormessage You have not been invited to a channel!}"; new_topic = "{channelmessage {nick $0} changed the topic of {channel $1} to: $2}"; topic_unset = "{channelmessage Topic unset by {nick $0} on {channel $1}}"; your_nick_changed = "{acknowledgedmessage You're now known as {nick $1}}"; nick_changed = "{usermessage %r*** %n{channick $0} is now known as {channick_hilight $1}}"; not_in_channels = "{errormessage You are not on any channels}"; names_prefix = " %w-%c-%C-%n| "; chansetup_not_found = "{errormessage Channel {channel $0} not found}"; chansetup_added = "{acknowledgedmessage Channel {channel $0} saved}"; chansetup_removed = "{acknowledgedmessage Channel {channel $0} removed}"; own_msg = "{ownmsgnick $2 {ownnick $[-13]0}%n |}%w$1"; own_msg_channel = "{ownmsgnick $3 {ownnick $[-13]0}%n | %g({msgchannel $1})%y}$2"; own_msg_private = "{ownprivmsg msg $[-13]0}$1"; own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-14]2}%n |}$1"; pubmsg_me = "{pubmsgmenick $2{menick $[-13]0}%R | }$1"; pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-13]0}%R | %g({msgchannel $1})%R}$2"; pubmsg_hilight = "{pubmsghinick $0 $3 $[-14]1}$2"; pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-14]1{msgchannel $2}}$3"; msg_private = "{privmsg $[-13]0}$2"; msg_private_query = "{privmsgnick $[-14]0%n |}$2"; no_msgs_got = "{errormessage You have not received a message from anyone yet}"; no_msgs_sent = "{errormessage You have not sent a message to anyone yet}"; query_start = "{attentionmessage Starting query in {server $1} with {nick $0}}"; query_stop = "{acknowledgedmessage Closing query with {nick $0}}"; no_query = "{errormessage No query with {nick $0}}"; query_server_changed = "{acknowledgedmessage Query with {nick $0} changed to server {server $1}}"; query_move_notify = "{errormessage Query with {nick $0} is already created to window $1, use \"/WINDOW ITEM MOVE $0\" to move it to this window}"; hilight_not_found = "{errormessage Highlight not found: $0}"; hilight_removed = "{acknowledgedmessage Highlight removed: $0}"; alias_added = "{acknowledgedmessage Alias $0 added}"; alias_removed = "{acknowledgedmessage Alias $0 removed}"; alias_not_found = "{errormessage No such alias: $0}"; log_opened = "{infomessage Log file {hilight $0} opened}"; log_closed = "{infomessage Log file {hilight $0} closed}"; log_create_failed = "{errormessage Couldn't create log file {hilight $0}: $1}"; log_locked = "{warningmessage Log file {hilight $0} is locked, probably by another running Irssi}"; log_not_open = "{errormessage Log file {hilight $0} not open}"; log_started = "{infomessage Started logging to file {hilight $0}}"; log_stopped = "{infomessage Stopped logging to file {hilight $0}}"; windowlog_file = "{acknowledgedmessage Window LOGFILE set to $0}"; windowlog_file_logging = "{errormessage Can't change window's logfile while log is on}"; no_away_msgs = "{infomessage No new messages in awaylog}"; away_msgs = "{attentionmessage {hilight $1} new messages in awaylog:}"; module_already_loaded = "{warningmessage Module {hilight $0/$1} already loaded}"; module_not_loaded = "{errormessage Module {hilight $0/$1} is not loaded}"; module_load_error = "{errormessage Error loading module {hilight $0/$1}: $2}"; module_invalid = "{errormessage {hilight $0/$1} isn't Irssi module}"; module_loaded = "{infomessage Loaded module {hilight $0/$1}}"; module_unloaded = "{infomessage Unloaded module {hilight $0/$1}}"; command_unknown = "{errormessage Unknown command: $0}"; command_ambiguous = "{errormessage Ambiguous command: $0}"; option_unknown = "{errormessage Unknown option: $0}"; option_ambiguous = "{errormessage Ambiguous option: $0}"; option_missing_arg = "{errormessage Missing required argument for: $0}"; not_enough_params = "{errormessage Not enough parameters given}"; not_connected = "{errormessage Not connected to server}"; not_joined = "{errormessage Not joined to any channel}"; chan_not_found = "{errormessage Not joined to such channel}"; chan_not_synced = "{errormessage Channel not fully synchronized yet, try again after a while}"; illegal_proto = "{errormessage Command isn't designed for the chat protocol of the active server}"; not_good_idea = "{warningmessage Doing this is not a good idea. Add -YES if you really mean it}"; theme_saved = "{infomessage Theme saved to $0}"; theme_save_failed = "{errormessage Error saving theme to $0: $1}"; theme_not_found = "{errormessage Theme {hilight $0} not found}"; theme_changed = "{acknowledgedmessage Using now theme {hilight $0} ($1)}"; window_theme = "{acknowledgedmessage Using theme {hilight $0} in this window}"; window_theme_default = "{errormessage No theme is set for this window}"; window_theme_changed = "{acknowledgedmessage Using now theme {hilight $0} ($1) in this window}"; window_theme_removed = "{acknowledgedmessage Removed theme from this window}"; ignored = "{acknowledgedmessage Ignoring {hilight $1} from {nick $0}}"; unignored = "{acknowledgedmessage Unignored {nick $0}}"; ignore_not_found = "{errormessage {nick $0} is not being ignored}"; ignore_no_ignores = "{errormessage There are no ignores}"; unknown_chat_protocol = "{errormessage Unknown chat network: $0 (create it with /IRCNET ADD)}"; not_toggle = "{errormessage Value must be either ON, OFF or TOGGLE}"; perl_error = "{errormessage Perl error: $0}"; bind_unknown_id = "{errormessage Unknown bind action: $0}"; config_saved = "{infomessage Saved configuration to file $0}"; config_reloaded = "{acknowledgedmessage Reloaded configuration}"; config_modified = "{warningmessage Configuration file was modified since irssi was last started - do you want to overwrite the possible changes?}"; set_unknown = "{errormessage Unknown setting $0}"; set_not_boolean = "{errormessage Setting {hilight $0} isn't boolean, use /SET}"; translation_not_found = "{errormessage Error opening translation table file $0: $1}"; translation_file_error = "{errormessage Error parsing translation table file $0}"; talking_in = ""; timestamp = "{timestamp %%H:%%M:%%S} "; }; "fe-text" = { lastlog_too_long = "{warningmessage /LASTLOG would print $0 lines. If you really want to print all these lines use -force option.}"; window_too_small = "{errormessage Not enough room to resize this window}"; cant_hide_last = "{errormessage You can't hide the last window}"; cant_hide_sticky_windows = "{errormessage You can't hide sticky windows (use /WINDOW STICK OFF)}"; cant_show_sticky_windows = "{errormessage You can't show sticky windows (use /WINDOW STICK OFF)}"; window_not_sticky = "{errormessage Window is not sticky}"; window_set_sticky = "{acknowledgedmessage Window set sticky}"; window_unset_sticky = "{acknowledgedmessage Window is not sticky anymore}"; window_scroll = "{acknowledgedmessage Window scroll mode is now $0}"; window_scroll_unknown = "{errormessage Unknown scroll mode $0, must be ON, OFF or DEFAULT}"; }; "fe-common/perl" = { script_not_found = "{errormessage Script {hilight $0} not found}"; script_not_loaded = "{infomessage Script {hilight $0} is not loaded}"; script_loaded = "{infomessage Loaded script {hilight $0}}"; script_unloaded = "{acknowledgedmessage Unloaded script {hilight $0}}"; no_scripts_loaded = "{infomessage No scripts are loaded}"; }; };