Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@nathanharper
Last active October 29, 2018 08:39
Show Gist options
  • Star 14 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nathanharper/3298818 to your computer and use it in GitHub Desktop.
Save nathanharper/3298818 to your computer and use it in GitHub Desktop.
A quick attempt to automate opening up a tmux session with Irssi and its nicklist.pl running.
#!/usr/bin/env bash
# This should work whether you are already in a TMUX session or not...
# Irssi directory is assumed to be in the user's home dir
if [ -z "$TMUX" ]
then
tmux new-session -d -s ircuser
tmux split-window -tircuser -h -l20
tmux send-keys -tircuser "tmux send-keys -t0 \"irssi\" C-m; \
tmux send-keys -t0 \"/set nicklist_height \$(stty size | cut -f1 -d' ' -)\" C-m; \
tmux send-keys -t0 \"/set nicklist_width \$(stty size | cut -f2 -d' ' -)\" C-m; \
tmux send-keys -t1 \"cat ~/.irssi/nicklistfifo\" C-m; \
tmux send-keys -t0 \"/nicklist fifo\" C-m; \
tmux select-pane -t0" C-m
tmux attach-session -t ircuser
else
tmux split-window -h -l20
tmux send-keys -t1 "tmux send-keys -t0 \"irssi\" C-m; \
tmux send-keys -t0 \"/set nicklist_height \$(stty size | cut -f1 -d' ' -)\" C-m; \
tmux send-keys -t0 \"/set nicklist_width \$(stty size | cut -f2 -d' ' -)\" C-m; \
tmux send-keys -t0 \"/nicklist fifo\" C-m; \
cat ~/.irssi/nicklistfifo" C-m
fi
@nathanharper
Copy link
Author

@megalithic I talked to elithrar over email about this already a while ago... this script is something I whipped up to get it working for my personal needs, but you may need to tweak it to work for your purposes. I think the problem he was having was that he was running it from inside a tmux session, which this isn't designed to handle. I can't remember exactly what solution we came up with, but I think it looked something like...

!/bin/bash

if [ -z "$IRSSI_PATH" ]
then
echo "Environment variable IRSSI_PATH not set."
exit
fi

tmux split-window -h -l 20
tmux send-keys -t0 "irssi" C-m
tmux send-keys -t0 "/set nicklist_height $(stty size | cut -f1 -d' ' -)" C-m
tmux send-keys -t0 "/set nicklist_width $(stty size | cut -f2 -d' ' -)" C-m
tmux send-keys -t0 "/nicklist fifo" C-m
cat $IRSSI_PATH/nicklistfifo

@nathanharper
Copy link
Author

UPDATE: it seems like there's a lot of confusion about this, so I updated it to automatically detect if it's in a TMUX session and act accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment