diff --git a/irssi.conf b/irssi.conf index 628e2b5d..deb8a542 100644 --- a/irssi.conf +++ b/irssi.conf @@ -66,3 +66,105 @@ aliases = { UPTIME = "eval exec - expr `date +%s` - $F | awk \"{print \\\"Irssi uptime: \\\"int(\\$1/3600/24)\\\"d \\\"int(\\$1/3600%24)\\\"h \\\"int(\\$1/60%60)\\\"m \\\"int(\\$1%60)\\\"s\\\" }\""; CALC = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi"; }; + +statusbar = { + # formats: + # when using {templates}, the template is shown only if it's argument isn't + # empty unless no argument is given. for example {sb} is printed always, + # but {sb $T} is printed only if $T isn't empty. + + items = { + # treated "normally", you could change the time/user name to whatever + time = "{sb $Z}"; + user = "{sb $cumode$N{sbmode $usermode}{sbaway $A}}"; + topic = "$topic"; + info = " {hilight Irssi v$J - http://irssi.org/beginner/}"; + + # treated specially .. window is printed with non-empty windows, + # window_empty is printed with empty windows + window = "{sb $winref:$T{sbmode $M}}"; + window_empty = "{sb $winref{sbservertag $tag}}"; + prompt = "[$[.15]T] "; + prompt_empty = "[$winname] "; + + # all of these treated specially, they're only displayed when needed + #mail = "{sb Mail: $0}"; + lag = "{sb Lag: $0}"; + act = "{sb Act: $0-}"; + more = "-- more --"; + }; + + # there's two type of statusbars. root statusbars are either at the top + # of the screen or at the bottom of the screen. window statusbars are at + # the top/bottom of each split window in screen. + default = { + # the "default statusbar" to be displayed at the bottom of the window. + # contains all the normal items. + window = { + # window, root + type = "window"; + # top, bottom + placement = "bottom"; + # number + position = "1"; + # active, inactive, always, never (disables the statusbar) + visible = "active"; + + # list of items in statusbar in the display order + items = { + time = { }; + user = { }; + window = { }; + window_empty = { }; + mail = { }; + lag = { priority = "-1"; }; + act = { priority = "10"; }; + more = { priority = "-1"; alignment = "right"; }; + }; + }; + + # statusbar to use in inactive split windows + window_inact = { + type = "window"; + placement = "bottom"; + position = "1"; + visible = "inactive"; + items = { window = { }; window_empty = { }; more = { }; }; + }; + + # (annoying) infobar requesting new users to visit irssi.org and read + # a bit of documentation :) + info = { + type = "root"; + placement = "bottom"; + position = "1"; + visible = "always"; + items = { info = { }; }; + }; + + # we treat input line as yet another statusbar :) It's possible to + # add other items before or after the input line item. + prompt = { + type = "root"; + placement = "bottom"; + # we want to be at the bottom always + position = "100"; + visible = "always"; + items = { + prompt = { priority = "-1"; }; + prompt_empty = { priority = "-1"; }; + # treated specially, this is the real input line. + input = { priority = "10"; }; + }; + }; + + # topicbar + topic = { + type = "root"; + placement = "top"; + position = "1"; + visible = "always"; + items = { topic = { }; }; + }; + }; +};