Quick post on great Zellij
tool I’ve been using for some weeks now in Tmux
replacement.
I’ve been missing to manage my sessions
on multiplexer init while starting a new shell
or terminal
so I’ve ended creating a quick feature to manage it on startup.
Dependencies
You need sk binary installed and in your $PATH
and of course zellij.
Demo
Installation
Add this block at the end of your $SHELLrc
file (tested with BASH and ZSH) :
ZJ_SESSIONS=$(zellij list-sessions)
NO_SESSIONS=$(echo "${ZJ_SESSIONS}" | wc -l)
if [ "{$ZELLIJ}" ] && [ -z "${ZELLIJ_SESSION_NAME}" ]; then
echo -ne "Active Zellij sessions :\n"
for i in $(echo "${ZJ_SESSIONS}"); do echo -ne "*${i}\n"; done
echo -ne '\n'
read REPLY\?"New zellij session [y/n] ? "
if [ "${REPLY}" = "y" ]; then
read SESS\?"Session name : "
zellij --layout compact attach -c "${SESS}"
else
if [ "${NO_SESSIONS}" -ge 1 ]; then
zellij --layout compact attach \
"$(echo "${ZJ_SESSIONS}" | sk)"
else
fi
fi
fi
Contributing
Feel free to fork and contribute.