#!/bin/bash
# sys/tool/screen - Terminal Multiplexing Support

set -e


######
# Native Dependencies

sys_tool_screen_client_packages=( screen )


######
# Library Configuration

sys_tool_screen_config_init() {
	lib_setting_vars --null screen_rcfile
}


######
# Public Interface

screen_run() {
	local -a opts=()
	[ -z "$screen_rcfile" ] || opts+=( -c "$screen_rcfile" )
	run screen "${opts[@]}" "$@"
}

screen_run_file() {
	min_args 1 "$@"
	local screen_rcfile=$1
	shift

	[ -f "$screen_rcfile" ] \
		|| error "$screen_rcfile: screenrc file does not exist"

	screen_run "$@"
}

screen_run_func() {
	local tmp
	tmp=$(cmd_tempfile)
	run "$@" >"$tmp"
	screen_run_file "$tmp"
}


######
# Command Generation

screen_gen_run() {
	local -a opts=()
	opts+=( "$@" )
	echo "screen ${opts[*]}"
}

View the Developer Guide Index

View the Reference Manual Index


Generated on Wed Jun 28 07:40:22 PDT 2017 by mcsh d14 v0.20.0.