diff options
author | Vasil Zlatanov <vasil.zlatanov@gmail.com> | 2015-08-18 02:38:33 +0200 |
---|---|---|
committer | Vasil Zlatanov <vasil.zlatanov@gmail.com> | 2015-08-18 02:38:33 +0200 |
commit | 6efac1a12c8ab0b7d96a8d342fbd74fce35e8c42 (patch) | |
tree | 93ebfb332b3a231931fe1b1276632bdaa33fa6e4 /Window_Manager/ratpoison/screen_run | |
parent | c021038355b6773ab13dae92327fda50c366395f (diff) | |
download | dotfiles-6efac1a12c8ab0b7d96a8d342fbd74fce35e8c42.tar.gz dotfiles-6efac1a12c8ab0b7d96a8d342fbd74fce35e8c42.tar.bz2 dotfiles-6efac1a12c8ab0b7d96a8d342fbd74fce35e8c42.zip |
Organise everything systematically.
Diffstat (limited to 'Window_Manager/ratpoison/screen_run')
-rwxr-xr-x | Window_Manager/ratpoison/screen_run | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Window_Manager/ratpoison/screen_run b/Window_Manager/ratpoison/screen_run new file mode 100755 index 0000000..c70b567 --- /dev/null +++ b/Window_Manager/ratpoison/screen_run @@ -0,0 +1,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 |