complete_themes - shabble/irssi-docs GitHub Wiki

Annotated Themes and Formats List

This page is mostly a whole lot of pieces of the Irssi default.theme file, and the default text format strings. See the ThemeHowto for more explanation, or download the default_themes_formats.theme file for the contents of this page in a single file for ease of editing.

Note: You should remove all definitions of abstracts and formats that you do not alter from the defaults, especially formats which can overwrite custom changes made by the user loading your theme.

Misc

# default foreground color (%N) - -1 is the "default terminal color"
default_color = "-1";

# print timestamp/servertag at the end of line, not at beginning
info_eol = "false";

Replacements

# these characters are automatically replaced with specified color
# (dark grey by default)
replaces = { "[]=" = "%K$*%n"; };

Abstracts

abstracts = {

  ##
  ## generic
  ##

  # text to insert at the beginning of each non-message line
  line_start = "%B-%n!%B-%n ";

  # timestamp styling, nothing by default
  timestamp = "$*";

  # any kind of text that needs hilighting, default is to bold
  hilight = "%_$*%_";

  # any kind of error message, default is bright red
  error = "%R$*%n";

  # channel name is printed
  channel = "%_$*%_";

  # nick is printed
  nick = "%_$*%_";

  # nick host is printed
  nickhost = "[$*]";

  # server name is printed
  server = "%_$*%_";

  # some kind of comment is printed
  comment = "[$*]";

  # reason for something is printed (part, quit, kick, ..)
  reason = "{comment $*}";

  # mode change is printed ([+o nick])
  mode = "{comment $*}";

  ##
  ## channel specific messages
  ##

  # highlighted nick/host is printed (joins)
  channick_hilight = "%C$*%n";
  chanhost_hilight = "{nickhost %c$*%n}";

  # nick/host is printed (parts, quits, etc.)
  channick = "%c$*%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 = "%K<%n$0$1-%K>%n %|";

  # When a 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-}%g";

  # 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 = "%_$*%n";

  # public message in channel, $0 = nick mode, $1 = nick
  pubmsgnick = "{msgnick $0 $1-}";
  pubnick = "%N$*%n";

  # Used primarily when formatting hilights generated by
  # the 'hilight_nick_matches' setting.

  # public message in channel meant for me, $0 = nick mode, $1 = nick
  pubmsgmenick = "{msgnick $0 $1-}";
  menick = "%Y$*%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 = "[%R$0%K(%r$1-%K)%n] ";

  # private message from you, $0 = "msg", $1 = target nick
  ownprivmsg = "[%r$0%K(%R$1-%K)%n] ";

  # own private message in query
  ownprivmsgnick = "{msgnick  $*}";
  ownprivnick = "%_$*%n";

  # private message in query
  privmsgnick = "{msgnick  %R$*%n}";

  ##
  ## Actions (/ME stuff)
  ##

  # used internally by this theme
  action_core = "%_ * $*%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 = "%_ (*) $*%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-%M$*%K-%n ";
  pubnotice_channel = "%K:%m$*";
  pvtnotice_host = "%K(%m$*%K)";
  servernotice = "%g!$*%n ";

  # CTCPs
  ownctcp = "[%r$0%K(%R$1-%K)] ";
  ctcp = "%g$*%n";

  # wallops
  wallop = "%_$*%n: ";
  wallop_nick = "%n$*";
  wallop_action = "%_ * $*%n ";

  # netsplits
  netsplit = "%R$*%n";
  netjoin = "%C$*%n";

  # /names list
  names_prefix = "";
  names_nick = "[%_$0%_$1-] ";
  names_nick_op = "{names_nick $*}";
  names_nick_halfop = "{names_nick $*}";
  names_nick_voice = "{names_nick $*}";
  names_users = "[%g$*%n]";
  names_channel = "%G$*%n";

  # DCC
  dcc = "%g$*%n";
  dccfile = "%_$*%_";

  # DCC chat, own msg/action
  dccownmsg = "[%r$0%K($1-%K)%n] ";
  dccownnick = "%R$*%n";
  dccownquerynick = "%_$*%n";
  dccownaction = "{action $*}";
  dccownaction_target = "{action_core $0}%K:%c$1%n ";

  # DCC chat, others
  dccmsg = "[%G$1-%K(%g$0%K)%n] ";
  dccquerynick = "%G$*%n";
  dccaction = "%_ (*dcc*) $*%n %|";

  ##
  ## statusbar
  ##

  # default background for all statusbars. You can also give
  # the default foreground color for statusbar items.
  sb_background = "%4%w";

  # default backround for "default" statusbar group
  #sb_default_bg = "%4";
  # background for prompt / input line
  sb_prompt_bg = "%n";
  # background for info statusbar
  sb_info_bg = "%8";
  # background for topicbar (same default)
  #sb_topic_bg = "%4";

  # 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 = " ";

  topicsbstart = "{sbstart $*}";
  topicsbend = "{sbend $*}";

  prompt = "[$*] ";

  sb = " %c[%n$*%c]%n";
  sbmode = "(%c+%n$*)";
  sbaway = " (%GzZzZ%n)";
  sbservertag = ":$0 (change with ^X)";
  sbnickmode = "$0";

  # activity in statusbar

  # ',' separator
  sb_act_sep = "%c$*";
  # normal text
  sb_act_text = "%c$*";
  # public message
  sb_act_msg = "%W$*";
  # hilight
  sb_act_hilight = "%M$*";
  # hilight with specified color, $0 = color, $1 = text
  sb_act_hilight_color = "$0$1-%n";
};

Formats

fe-common/irc/dcc

formats = {
  "fe-common/irc/dcc" = {
    own_dcc = "{dccownmsg dcc {dccownnick $1}}$2";
    own_dcc_action = "{dccownaction_target $0 $1}$2";
    own_dcc_action_query = "{dccownaction $0}$2";
    own_dcc_ctcp = "{ownctcp ctcp $0}$1 $2";
    dcc_msg = "{dccmsg dcc $0}$1";
    action_dcc = "{dccaction $0}$1";
    action_dcc_query = "{dccaction $0}$1";
    own_dcc_query = "{ownmsgnick {dccownquerynick $0}}$2";
    dcc_msg_query = "{privmsgnick $0}$1";
    dcc_ctcp = "{dcc >>> DCC CTCP {hilight $1} received from {hilight $0}: $2}";
    dcc_chat = "{dcc DCC CHAT from {nick $0} [$1 port $2]}";
    dcc_chat_channel = "{dcc DCC CHAT from {nick $0} [$1 port $2] requested in channel {channel $3}}";
    dcc_chat_not_found = "{dcc No DCC CHAT connection open to {nick $0}}";
    dcc_chat_connected = "{dcc DCC CHAT connection with {nick $0} [$1 port $2] established}";
    dcc_chat_disconnected = "{dcc DCC lost chat to {nick $0}}";
    dcc_send = "{dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4]}";
    dcc_send_channel = "{dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes] requested in channel {channel $5}}";
    dcc_send_exists = "{dcc DCC already sending file {dccfile $0} for {nick $1}}";
    dcc_send_no_route = "{dcc DCC route lost to nick {nick $0} when trying to send file {dccfile $1}}";
    dcc_send_not_found = "{dcc DCC not sending file {dccfile $1} to {nick $0}}";
    dcc_send_file_open_error = "{dcc DCC can't open file {dccfile $0}: $1}";
    dcc_send_connected = "{dcc DCC sending file {dccfile $0} for {nick $1} [$2 port $3]}";
    dcc_send_complete = "{dcc DCC sent file {dccfile $0} [{hilight $1}] for {nick $2} in {hilight $3} [{hilight $4kB/s}]}";
    dcc_send_aborted = "{dcc DCC aborted sending file {dccfile $0} for {nick $1}}";
    dcc_get_not_found = "{dcc DCC no file offered by {nick $0}}";
    dcc_get_connected = "{dcc DCC receiving file {dccfile $0} from {nick $1} [$2 port $3]}";
    dcc_get_complete = "{dcc DCC received file {dccfile $0} [$1] from {nick $2} in {hilight $3} [$4kB/s]}";
    dcc_get_aborted = "{dcc DCC aborted receiving file {dccfile $0} from {nick $1}}";
    dcc_get_write_error = "{dcc DCC error writing to file {dccfile $0}: {comment $1}";
    dcc_unknown_ctcp = "{dcc DCC unknown ctcp {hilight $0} from {nick $1} [$2]}";
    dcc_unknown_reply = "{dcc DCC unknown reply {hilight $0} from {nick $1} [$2]}";
    dcc_unknown_type = "{dcc DCC unknown type {hilight $0}}";
    dcc_invalid_ctcp = "{dcc DCC received CTCP {hilight $0} with invalid parameters from {nick $1}}";
    dcc_connect_error = "{dcc DCC can't connect to {hilight $0} port {hilight $1}}";
    dcc_cant_create = "{dcc DCC can't create file {dccfile $0}: $1}";
    dcc_rejected = "{dcc DCC $0 was rejected by {nick $1} [{hilight $2}]}";
    dcc_request_send = "{dcc DCC $0 request sent to {nick $1}: $2";
    dcc_close = "{dcc DCC $0 close for {nick $1} [{hilight $2}]}";
    dcc_lowport = "{dcc Warning: Port sent with DCC request is a lowport ({hilight $0, $1}) - this isn't normal. It is possible the address/port is faked (or maybe someone is just trying to bypass firewall)}";
    dcc_list_header = "{dcc DCC connections}";
    dcc_list_line_chat = "{dcc  $0 $1}";
    dcc_list_line_file = "{dcc  $0 $1: %|$2 of $3 ($4%%) - $5kB/s - ETA $7 - $6}";
    dcc_list_line_queued_send = "{dcc   - $0 $2 (queued)}";
    dcc_list_footer = "";
    dcc_list_line_server = "{dcc  $0: Port($1) - Send($2) - Chat($3) - Fserve($4)}";
    dcc_server_started = "{dcc  DCC SERVER started on port {hilight $0}}";
    dcc_server_closed = "{dcc  DCC SERVER on port {hilight $0} closed}";
  };

fe-common/irc/notifylist

"fe-common/irc/notifylist" = {
  notify_join = "{nick $0} [$1@$2] [{hilight $3}] has joined to $4";
  notify_part = "{nick $0} has left $4";
  notify_away = "{nick $0} [$5] [$1@$2] [{hilight $3}] is now away: $4";
  notify_unaway = "{nick $0} [$4] [$1@$2] [{hilight $3}] is now unaway";
  notify_online = "On $0: {hilight $1}";
  notify_offline = "Offline: $0";
  notify_list = "$0: $1 $2";
  notify_list_empty = "The notify list is empty";
};

fe-common/core

"fe-common/core" = {
  line_start = "{line_start}";
  line_start_irssi = "{line_start}{hilight Irssi:} ";
  timestamp = "{timestamp $Z} ";
  servertag = "[$0] ";
  daychange = "Day changed to %%d %%b %%Y";
  talking_with = "You are now talking with {nick $0}";
  refnum_too_low = "Window number must be greater than 1";
  error_server_sticky = "Window's server is sticky and it cannot be changed without -unsticky option";
  set_server_sticky = "Window's server set sticky";
  unset_server_sticky = "Window's server isn't sticky anymore";
  window_name_not_unique = "Window names must be unique";
  window_level = "Window level is now $0";
  window_set_immortal = "Window is now immortal";
  window_unset_immortal = "Window isn't immortal anymore";
  window_immortal_error = "Window is immortal, if you really want to close it, say /WINDOW IMMORTAL OFF";
  windowlist_header = "%#Ref Name                 Active item     Server          Level";
  windowlist_line = "%#$[3]0 %|$[20]1 $[15]2 $[15]3 $4";
  windowlist_footer = "";
  windows_layout_saved = "Layout of windows is now remembered";
  windows_layout_reset = "Layout of windows reset to defaults";
  window_info_header = "";
  window_info_footer = "";
  window_info_refnum = "%#Window  : {hilight #$0}";
  window_info_refnum_sticky = "%#Window  : {hilight #$0 (sticky)}";
  window_info_name = "%#Name    : $0";
  window_info_history = "%#History : $0";
  window_info_immortal = "%#Immortal: yes";
  window_info_size = "%#Size    : $0x$1";
  window_info_level = "%#Level   : $0";
  window_info_server = "%#Server  : $0";
  window_info_server_sticky = "%#Server  : $0 (sticky)";
  window_info_theme = "%#Theme   : $0$1";
  window_info_bound_items_header = "%#Bounds  : {hilight Name                           Server tag}";
  window_info_bound_item = "%#        : $[!30]0 $[!15]1 $2";
  window_info_bound_items_footer = "";
  window_info_items_header = "%#Items   : {hilight Name                           Server tag}";
  window_info_item = "%# $[7]0: $[!30]1 $2";
  window_info_items_footer = "";
  looking_up = "Looking up {server $0}";
  connecting = "Connecting to {server $0} [$1] port {hilight $2}";
  reconnecting = "Reconnecting to {server $0} [$1] port {hilight $2} - use /RMRECONNS to abort";
  connection_established = "Connection to {server $0} established";
  cant_connect = "Unable to connect server {server $0} port {hilight $1} {reason $2}";
  connection_lost = "Connection lost to {server $0}";
  lag_disconnected = "No PONG reply from server {server $0} in $1 seconds, disconnecting";
  disconnected = "Disconnected from {server $0} {reason $1}";
  server_quit = "Disconnecting from server {server $0}: {reason $1}";
  server_changed = "Changed to {hilight $2} server {server $1}";
  unknown_server_tag = "Unknown server tag {server $0}";
  no_connected_servers = "Not connected to any servers";
  server_list = "{server $0}: $1:$2 ($3)";
  server_lookup_list = "{server $0}: $1:$2 ($3) (connecting...)";
  server_reconnect_list = "{server $0}: $1:$2 ($3) ($5 left before reconnecting)";
  server_reconnect_removed = "Removed reconnection to server {server $0} port {hilight $1}";
  server_reconnect_not_found = "Reconnection tag {server $0} not found";
  setupserver_added = "Server {server $0} saved";
  setupserver_removed = "Server {server $0} removed";
  setupserver_not_found = "Server {server $0} not found";
  your_nick = "Your nickname is {nick $0}";
  join = "{channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}";
  part = "{channick $0} {chanhost $1} has left {channel $2} {reason $3}";
  kick = "{channick $0} was kicked from {channel $1} by {nick $2} {reason $3}";
  quit = "{channick $0} {chanhost $1} has quit {reason $2}";
  quit_once = "{channel $3} {channick $0} {chanhost $1} has quit {reason $2}";
  invite = "{nick $0} invites you to {channel $1}";
  not_invited = "You have not been invited to a channel!";
  new_topic = "{nick $0} changed the topic of {channel $1} to: $2";
  topic_unset = "Topic unset by {nick $0} on {channel $1}";
  your_nick_changed = "You're now known as {nick $1}";
  nick_changed = "{channick $0} is now known as {channick_hilight $1}";
  talking_in = "You are now talking in {channel $0}";
  not_in_channels = "You are not on any channels";
  current_channel = "Current channel {channel $0}";
  names = "{names_users Users {names_channel $0}}";
  names_prefix = "%#{names_prefix $0}";
  names_nick_op = "{names_nick_op $0 $1}";
  names_nick_halfop = "{names_nick_halfop $0 $1}";
  names_nick_voice = "{names_nick_voice $0 $1}";
  names_nick = "{names_nick $0 $1}";
  endofnames = "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $3} halfops, {hilight $4} voices, {hilight $5} normal}";
  chanlist_header = "%#You are on the following channels:";
  chanlist_line = "%#{channel $[-10]0} %|+$1 ($2): $3";
  chansetup_not_found = "Channel {channel $0} not found";
  chansetup_added = "Channel {channel $0} saved";
  chansetup_removed = "Channel {channel $0} removed";
  chansetup_header = "%#Channel         Network    Password   Settings";
  chansetup_line = "%#{channel $[15]0} %|$[10]1 $[10]2 $3";
  chansetup_footer = "";
  own_msg = "{ownmsgnick $2 {ownnick $0}}$1";
  own_msg_channel = "{ownmsgnick $3 {ownnick $0}{msgchannel $1}}$2";
  own_msg_private = "{ownprivmsg msg $0}$1";
  own_msg_private_query = "{ownprivmsgnick {ownprivnick $2}}$1";
  pubmsg_me = "{pubmsgmenick $2 {menick $0}}$1";
  pubmsg_me_channel = "{pubmsgmenick $3 {menick $0}{msgchannel $1}}$2";
  pubmsg_hilight = "{pubmsghinick $0 $3 $1}$2";
  pubmsg_hilight_channel = "{pubmsghinick $0 $4 $1{msgchannel $2}}$3";
  pubmsg = "{pubmsgnick $2 {pubnick $0}}$1";
  pubmsg_channel = "{pubmsgnick $3 {pubnick $0}{msgchannel $1}}$2";
  msg_private = "{privmsg $0 $1}$2";
  msg_private_query = "{privmsgnick $0}$2";
  no_msgs_got = "You have not received a message from anyone yet";
  no_msgs_sent = "You have not sent a message to anyone yet";
  query_start = "Starting query in {server $1} with {nick $0}";
  query_stop = "Closing query with {nick $0}";
  no_query = "No query with {nick $0}";
  query_server_changed = "Query with {nick $0} changed to server {server $1}";
  hilight_header = "%#Highlights:";
  hilight_line = "%#$[-4]0 $1 $2 $3$4";
  hilight_footer = "";
  hilight_not_found = "Highlight not found: $0";
  hilight_removed = "Highlight removed: $0";
  alias_added = "Alias $0 added";
  alias_removed = "Alias $0 removed";
  alias_not_found = "No such alias: $0";
  aliaslist_header = "%#Aliases:";
  aliaslist_line = "%#$[10]0 $1";
  aliaslist_footer = "";
  log_opened = "Log file {hilight $0} opened";
  log_closed = "Log file {hilight $0} closed";
  log_create_failed = "Couldn't create log file {hilight $0}: $1";
  log_locked = "Log file {hilight $0} is locked, probably by another running Irssi";
  log_not_open = "Log file {hilight $0} not open";
  log_started = "Started logging to file {hilight $0}";
  log_stopped = "Stopped logging to file {hilight $0}";
  log_list_header = "%#Logs:";
  log_list = "%#$0 $1: $2 $3$4$5";
  log_list_footer = "";
  windowlog_file = "Window LOGFILE set to $0";
  windowlog_file_logging = "Can't change window's logfile while log is on";
  no_away_msgs = "No new messages in awaylog";
  away_msgs = "{hilight $1} new messages in awaylog:";
  module_header = "%#Module               Type    Submodules";
  module_line = "%#$[!20]0 $[7]1 $2";
  module_footer = "";
  module_already_loaded = "Module {hilight $0/$1} already loaded";
  module_not_loaded = "Module {hilight $0/$1} is not loaded";
  module_load_error = "Error loading module {hilight $0/$1}: $2";
  module_invalid = "{hilight $0/$1} isn't Irssi module";
  module_loaded = "Loaded module {hilight $0/$1}";
  module_unloaded = "Unloaded module {hilight $0/$1}";
  command_unknown = "Unknown command: $0";
  command_ambiguous = "Ambiguous command: $0";
  option_unknown = "Unknown option: $0";
  option_ambiguous = "Ambiguous option: $0";
  option_missing_arg = "Missing required argument for: $0";
  not_enough_params = "Not enough parameters given";
  not_connected = "Not connected to server";
  not_joined = "Not joined to any channel";
  chan_not_found = "Not joined to such channel";
  chan_not_synced = "Channel not fully synchronized yet, try again after a while";
  illegal_proto = "Command isn't designed for the chat protocol of the active server";
  not_good_idea = "Doing this is not a good idea. Add -YES option to command if you really mean it";
  invalid_number = "Invalid number";
  invalid_time = "Invalid timestamp";
  invalid_level = "Invalid message level";
  invalid_size = "Invalid size";
  invalid_charset = "Invalid charset: $0";
  eval_max_recurse = "/eval hit maximum recursion limit";
  program_not_found = "Could not find file or file is not executable";
  theme_saved = "Theme saved to $0";
  theme_save_failed = "Error saving theme to $0: $1";
  theme_not_found = "Theme {hilight $0} not found";
  theme_changed = "Now using theme {hilight $0} ($1)";
  window_theme = "Using theme {hilight $0} in this window";
  window_theme_default = "No theme is set for this window";
  window_theme_changed = "Now using theme {hilight $0} ($1) in this window";
  window_theme_removed = "Removed theme from this window";
  format_title = "%:[{hilight $0}] - [{hilight $1}]%:";
  format_subtitle = "[{hilight $0}]";
  format_item = "$0 = $1";
  ignored = "Ignoring {hilight $1} from {nick $0}";
  ignored_options = "Ignoring {hilight $1} from {nick $0} {comment $2}";
  unignored = "Unignored {nick $0}";
  ignore_not_found = "{nick $0} is not being ignored";
  ignore_no_ignores = "There are no ignores";
  ignore_header = "%#Ignore List:";
  ignore_line = "%#$[-4]0 $1: $2 $3 $4";
  ignore_footer = "";
  not_channel_or_query = "The current window is not a channel or query window";
  conversion_added = "Added {hilight $0}/{hilight $1} to conversion database";
  conversion_removed = "Removed {hilight $0} from conversion database";
  conversion_not_found = "{hilight $0} not found in conversion database";
  conversion_no_translits = "Transliterations not supported in this system";
  recode_header = "%#Target                         Character set";
  recode_line = "%#%|$[!30]0 $1";
  unknown_chat_protocol = "Unknown chat protocol: $0";
  unknown_chatnet = "Unknown chat network: $0 (create it with /NETWORK ADD)";
  not_toggle = "Value must be either ON, OFF or TOGGLE";
  perl_error = "Perl error: $0";
  bind_header = "%#Key                  Action";
  bind_list = "%#$[!20]0 $1 $2";
  bind_command_list = "$[!30]0 $1";
  bind_footer = "";
  bind_unknown_id = "Unknown bind action: $0";
  config_saved = "Saved configuration to file $0";
  config_reloaded = "Reloaded configuration";
  config_modified = "Configuration file was modified since irssi was last started - do you want to overwrite the possible changes?";
  glib_error = "{error $0} $1";
  overwrite_config = "Overwrite config (y/N)?";
  set_title = "[{hilight $0}]";
  set_item = "$0 = $1";
  set_unknown = "Unknown setting $0";
  set_not_boolean = "Setting {hilight $0} isn't boolean, use /SET";
  no_completions = "There's no completions";
  completion_removed = "Removed completion $0";
  completion_header = "%#Key        Value                                    Auto";
  completion_line = "%#$[10]0 $[!40]1 $2";
  completion_footer = "";
};

fe-text

"fe-text" = {
  lastlog_too_long = "/LASTLOG would print $0 lines. If you really want to print all these lines use -force option.";
  lastlog_count = "{hilight Lastlog}: $0 lines";
  lastlog_start = "{hilight Lastlog}:";
  lastlog_end = "{hilight End of Lastlog}";
  lastlog_separator = "--";
  refnum_not_found = "Window number $0 not found";
  window_too_small = "Not enough room to resize this window";
  cant_hide_last = "You can't hide the last window";
  cant_hide_sticky_windows = "You can't hide sticky windows (use /WINDOW STICK OFF)";
  cant_show_sticky_windows = "You can't show sticky windows (use /WINDOW STICK OFF)";
  window_not_sticky = "Window is not sticky";
  window_set_sticky = "Window set sticky";
  window_unset_sticky = "Window is not sticky anymore";
  window_info_sticky = "%#Sticky  : $0";
  window_info_scroll = "%#Scroll  : $0";
  window_scroll = "Window scroll mode is now $0";
  window_scroll_unknown = "Unknown scroll mode $0, must be ON, OFF or DEFAULT";
  statusbar_list_header = "%#Name                           Type   Placement Position Visible";
  statusbar_list_footer = "";
  statusbar_list = "%#$[30]0 $[6]1 $[9]2 $[8]3 $4";
  statusbar_info_name = "%#Statusbar: {hilight $0}";
  statusbar_info_type = "%#Type     : $0";
  statusbar_info_placement = "%#Placement: $0";
  statusbar_info_position = "%#Position : $0";
  statusbar_info_visible = "%#Visible  : $0";
  statusbar_info_item_header = "%#Items    : Name                                Priority  Alignment";
  statusbar_info_item_footer = "";
  statusbar_info_item_name = "%#         : $[35]0 $[9]1 $2";
  statusbar_not_found = "Statusbar doesn't exist: $0";
  statusbar_item_not_found = "Statusbar item doesn't exist: $0";
  statusbar_unknown_command = "Unknown statusbar command: $0";
  statusbar_unknown_type = "Statusbar type must be 'window' or 'root'";
  statusbar_unknown_placement = "Statusbar placement must be 'top' or 'bottom'";
  statusbar_unknown_visibility = "Statusbar visibility must be 'always', 'active' or 'inactive'";
  paste_warning = "Pasting $0 lines to $1. Press Ctrl-K if you wish to do this or Ctrl-C to cancel.";
  paste_prompt = "Hit Ctrl-K to paste, Ctrl-C to abort?";
};

fe-common/perl

"fe-common/perl" = {
  script_not_found = "Script {hilight $0} not found";
  script_not_loaded = "Script {hilight $0} is not loaded";
  script_loaded = "Loaded script {hilight $0}";
  script_unloaded = "Unloaded script {hilight $0}";
  no_scripts_loaded = "No scripts are loaded";
  script_list_header = "%#Loaded scripts:";
  script_list_line = "%#$[!15]0 $1";
  script_list_footer = "";
  script_error = "{error Error in script {hilight $0}:}";
};

fe-common/irc

  "fe-common/irc" = {
    netsplit = "{netsplit Netsplit} {server $0} <-> {server $1} quits: $2";
    netsplit_more = "{netsplit Netsplit} {server $0} <-> {server $1} quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
    netsplit_join = "{netjoin Netsplit} over, joins: $0";
    netsplit_join_more = "{netjoin Netsplit} over, joins: $0 (+$1 more)";
    no_netsplits = "There are no net splits";
    netsplits_header = "%#Nick      Channel    Server               Split server";
    netsplits_line = "%#$[9]0 $[10]1 $[20]2 $3";
    netsplits_footer = "";
    network_added = "Network $0 saved";
    network_removed = "Network $0 removed";
    network_not_found = "Network $0 not found";
    network_header = "%#Networks:";
    network_line = "%#$0: $1";
    network_footer = "";
    setupserver_header = "%#Server               Port  Network    Settings";
    setupserver_line = "%#%|$[!20]0 $[5]1 $[10]2 $3";
    setupserver_footer = "";
    joinerror_toomany = "Cannot join to channel {channel $0} (You have joined to too many channels)";
    joinerror_full = "Cannot join to channel {channel $0} (Channel is full)";
    joinerror_invite = "Cannot join to channel {channel $0} (You must be invited)";
    joinerror_banned = "Cannot join to channel {channel $0} (You are banned)";
    joinerror_bad_key = "Cannot join to channel {channel $0} (Bad channel key)";
    joinerror_bad_mask = "Cannot join to channel {channel $0} (Bad channel mask)";
    joinerror_unavail = "Cannot join to channel {channel $0} (Channel is temporarily unavailable)";
    joinerror_duplicate = "Channel {channel $0} already exists - cannot create it";
    channel_rejoin = "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 = "Inviting {nick $0} to {channel $1}";
    channel_created = "Channel {channelhilight $0} created $1";
    url = "Home page for {channelhilight $0}: $1";
    topic = "Topic for {channelhilight $0}: $1";
    no_topic = "No topic set for {channelhilight $0}";
    topic_info = "Topic set by {nick $0} {nickhost $2} {comment $1}";
    chanmode_change = "mode/{channelhilight $0} {mode $1} by {nick $2}";
    server_chanmode_change = "{netsplit ServerMode}/{channelhilight $0} {mode $1} by {nick $2}";
    channel_mode = "mode/{channelhilight $0} {mode $1}";
    bantype = "Ban type changed to {channel $0}";
    no_bans = "No bans in channel {channel $0}";
    banlist = "$0 - {channel $1}: ban {ban $2}";
    banlist_long = "$0 - {channel $1}: ban {ban $2} {comment by {nick $3}, $4 secs ago}";
    ebanlist = "{channel $0}: ban exception {ban $1}";
    ebanlist_long = "{channel $0}: ban exception {ban $1} {comment by {nick $2}, $3 secs ago}";
    no_invitelist = "Invite list is empty in channel {channel $0}";
    invitelist = "{channel $0}: invite {ban $1}";
    invitelist_long = "{channel $0}: invite {ban $1} {comment by {nick $2}, $3 secs ago}";
    no_such_channel = "{channel $0}: No such channel";
    channel_synced = "Join to {channel $0} was synced in {hilight $1} secs";
    usermode_change = "Mode change {mode $0} for user {nick $1}";
    user_mode = "Your user mode is {mode $0}";
    away = "You have been marked as being away";
    unaway = "You are no longer marked as being away";
    nick_away = "{nick $0} is away: $1";
    no_such_nick = "{nick $0}: No such nick/channel";
    nick_in_use = "Nick {nick $0} is already in use";
    nick_unavailable = "Nick {nick $0} is temporarily unavailable";
    your_nick_owned = "Your nick is owned by {nick $3} {comment $1@$2}";
    whois = "{nick $0} {nickhost $1@$2}%:{whois ircname $3}";
    whowas = "{nick $0} {nickhost $1@$2}%:{whois was $3}";
    whois_idle = "{whois idle %|$1 days $2 hours $3 mins $4 secs}";
    whois_idle_signon = "{whois idle %|$1 days $2 hours $3 mins $4 secs {comment signon: $5}}";
    whois_server = "{whois server %|$1 {comment $2}}";
    whois_oper = "{whois  {hilight $1}}";
    whois_modes = "{whois modes $1}";
    whois_realhost = "{whois hostname $1-}";
    whois_usermode = "{whois usermode $1}";
    whois_channels = "{whois channels %|$1}";
    whois_away = "{whois away %|$1}";
    whois_special = "{whois  %|$1}";
    whois_extra = "{whois account %|$1}";
    end_of_whois = "End of WHOIS";
    end_of_whowas = "End of WHOWAS";
    whois_not_found = "There is no such nick $0";
    who = "%#{channelhilight $[-10]0} %|{nick $[!9]1} $[!3]2 $[!2]3 $4@$5 {comment {hilight $6}}";
    end_of_who = "End of /WHO list";
    own_notice = "{ownnotice notice $0}$1";
    own_action = "{ownaction $0}$1";
    own_action_target = "{ownaction_target $0 $2}$1";
    own_ctcp = "{ownctcp ctcp $0}$1 $2";
    notice_server = "{servernotice $0}$1";
    notice_public = "{notice $0{pubnotice_channel $1}}$2";
    notice_private = "{notice $0{pvtnotice_host $1}}$2";
    action_private = "{pvtaction $0}$2";
    action_private_query = "{pvtaction_query $0}$2";
    action_public = "{pubaction $0}$1";
    action_public_channel = "{pubaction $0{msgchannel $1}}$2";
    ctcp_reply = "CTCP {hilight $0} reply from {nick $1}: $2";
    ctcp_reply_channel = "CTCP {hilight $0} reply from {nick $1} in channel {channel $3}: $2";
    ctcp_ping_reply = "CTCP {hilight PING} reply from {nick $0}: $1.$[-3.0]2 seconds";
    ctcp_requested = "{ctcp {hilight $0} {comment $1} requested CTCP {hilight $2} from {nick $4}}: $3";
    ctcp_requested_unknown = "{ctcp {hilight $0} {comment $1} requested unknown CTCP {hilight $2} from {nick $4}}: $3";
    online = "Users online: {hilight $0}";
    pong = "PONG received from $0: $1";
    wallops = "{wallop WALLOP {wallop_nick $0}} $1";
    action_wallops = "{wallop WALLOP {wallop_action $0}} $1";
    kill = "You were {error killed} by {nick $0} {nickhost $1} {reason $2} {comment Path: $3}";
    kill_server = "You were {error killed} by {server $0} {reason $1} {comment Path: $2}";
    error = "{error ERROR} $0";
    unknown_mode = "Unknown mode character $0";
    default_event = "$1";
    default_event_server = "[$0] $1";
    silenced = "Silenced {nick $0}";
    unsilenced = "Unsilenced {nick $0}";
    silence_line = "{nick $0}: silence {ban $1}";
    ask_oper_pass = "Operator password:";
    accept_list = "Accepted users: {hilight $0}";
  };
};
⚠️ **GitHub.com Fallback** ⚠️