aboutsummaryrefslogtreecommitdiff
path: root/Window_Manager/ratpoison/screen_run
blob: c70b567618762bac28eba3dfec836947533e67df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/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