#!/usr/bin/env bash # # Connect to a named screen session if it exists, otherwise create it # If creating a new screen session, use the file screenrc.$session # in the .config/ratpoison directory. # screen_dir=$HOME/.screen session=$1 function die() { echo "$0 error: $*" exit 1 } [ $# -ne 1 ] && die "$0 requires 1 argument (screen session name)" if screen -ls | grep $session; then # This session exists, connect to it screen -r $session else session_config=$screen_dir/screenrc.$session [ -f $session_config ] || die "config ($session_config) not found for $session" screen -c $screen_dir/screenrc.$session -S $session fi