tmux and irssi sitting in a tree...



# command prefix to ctrl+space
set -g prefix C-Space

# bindings
unbind-key C-b
bind-key a send-prefix
bind-key C-a last-window
bind s split-window -v
bind v split-window -h
bind-key Tab select-pane -t :.+
bind m command-prompt "split-window -h 'exec man %%'"
bind R source-file ~/.tmux.conf
bind k confirm-before "kill-window"
bind-key -r    M-Up resize-pane -U
bind-key -r  M-Down resize-pane -D
bind-key -r  M-Left resize-pane -L
bind-key -r M-Right resize-pane -R
bind-key -r    C-Up resize-pane -U 5
bind-key -r  C-Down resize-pane -D 5
bind-key -r  C-Left resize-pane -L 5
bind-key -r C-Right resize-pane -R 5

# status bar
set -g base-index 1
set -g status-bg black
set -g status-fg white
set -g message-bg red
set -g message-fg white
set -g status-left '#[fg=white]#[bg=black] #S.#I.#P #[default]'
set -g status-right "#(hostname)|#(uptime | awk -F: '{print $(NF\\)}' | sed s/' '//)|%F %R"
set -g status-right-length 80

# scrollback buffer n lines
set -g history-limit 10240

# General options
set -g status-utf8 on
set -g default-terminal screen-256color
set -g status-keys vi
set -g bell-action any
set -g visual-bell on
set -g set-titles on
set -g set-titles-string '#S.#I.#P #W #T' # session.windowindex.paneindex windowname windowtitle
set -g status-left '#[fg=white]#[bg=black] #S.#I.#P #[default]'
set -g status-right "#(hostname)|#(uptime | awk -F: '{print $(NF\\)}' | sed s/' '//)|%F %R"
set -g mouse-select-pane on
# Scrolling with Shift-PageUp/Shift-PageDown
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
set -g visual-activity on

# Window options
setw -g mode-keys vi
setw -g mode-mouse on
setw -g aggressive-resize on
setw -g monitor-activity on
setw -g window-status-bg black
setw -g window-status-current-bg blue
# disable auto renaming
setw -g automatic-rename off
setw -g alternate-screen on

# session initialization
new-session   -n shell
new-window -d -n dev    -t :2
new-window -d -n debug  -t :3
new-window -d -n db     -t :4
new-window -d -n ec2    -t :5
new-window -d -n irssi  -t :6

irssi bash functions

# create the pane with irssi's nicklist
function irssi_nickpane() {
    tmux renamew irssi                                              # name the window
    tmux -q setw main-pane-width $(( $(tput cols) - 21))            # set the main pane width to the total width-20
    tmux splitw -v "cat ~/.irssi/nicklistfifo"                      # create the window and begin reading the fifo
    tmux -q selectl main-vertical                                   # assign the layout
    tmux selectw -t irssi                                           # select window 'irssi'
    tmux selectp -t 0                                               # select pane 0

# irssi wrapper
function irssi() {
    $(which irssi)                                                  # launch irssi

# repair running irssi's nicklist pane
function irssi_repair() {
    tmux selectw -t irssi
    tmux selectp -t 0
    tmux killp -a                                                   # kill all panes

irssi scripts






Where do you put the irssi bash functions. In the config file? Really nice setup!


Do you happen to have a more specific explanation. I set it all but don't know how to get it to work. :(

Put the 'irssi bash functions

Put the 'irssi bash functions' in your $HOME/.bashrc file.
Download the 'irssi scripts' and put them in your irssi config's script directory, $HOME/.irssi/scripts

then you only need to (re)start irssi
$ irssi

nicklist with tmux.. a couple small issues

howdy, thanks so much for this post; it helped me get things setup on my macbook pro (tmux + irssi with the nicklist), however for some reason, the nicknames in the nicklist are double spaced, also the divider line between the main irssi window and the nicklist window are dashed instead of solid lined like yours. i'm more concerned with the doublespaced nicknames, in other words there is a blank line between each nickname. any thoughts on that? thanks much for this aewsome post.


It sounds like a problem with the width of the nicklist. You can try a different width with SET nicklist_width .
The dashed lines could be a problem with tmux, maybe an upgrade to the latest version is needed?


Add new comment

Plain text

  • No HTML tags allowed.
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link]( "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.