Screen: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 3: | Line 3: | ||
=functions= | =functions= | ||
<pre><nowiki> | <pre><nowiki> | ||
# Run a command in a group of windows. | # Run a command in a group of windows. | ||
screen_cluster(){ | screen_cluster(){ | ||
Line 79: | Line 19: | ||
for SCREEN in ${SCREENS} | for SCREEN in ${SCREENS} | ||
do | do | ||
screen -S ${SESSIONNAME} -p ${SCREEN} -X stuff "${COMMAND} | screen -S ${SESSIONNAME} -p ${SCREEN} -X stuff "^A# | ||
${COMMAND} | |||
" | " | ||
if [ $? -ne 0 ] | if [ $? -ne 0 ] | ||
Line 116: | Line 57: | ||
fi | fi | ||
} | } | ||
</nowiki></pre> | </nowiki></pre> |
Revision as of 13:08, 24 November 2011
external links
http://www.gnu.org/software/screen/manual/screen.html
functions
# Run a command in a group of windows. screen_cluster(){ if [ $# -lt 3 ] then echo "You wrote: ${FUNCNAME} ${@}" echo "${FUNCNAME} SESSIONNAME 'command' SCREENS" SESSIONNAMES=$(screen -ls | grep -E '[[:blank:]][0-9]{2,}' | awk '{print $1}' | sed 's/^[0-9.]*//g') echo "SESSIONNAME available are:" echo "${SESSIONNAMES}" else SESSIONNAME=${1} COMMAND=${2} shift 2 SCREENS="${@}" for SCREEN in ${SCREENS} do screen -S ${SESSIONNAME} -p ${SCREEN} -X stuff "^A# ${COMMAND} " if [ $? -ne 0 ] then screen_cluster return 1 fi done fi } # Split screen in regions with wanted windows. screen_split(){ if [ $# -lt 2 ] then echo "Splits screen in regions and show chosen windows." echo "${FUNCNAME} SESSIONNAME SCREENS" else SCREENSESSION="${1}" shift WINDOWSTART="${1}" NUMBERSCREEN="${#}" shift WINDOWSOPEN="${@}" screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X select ${WINDOWSTART} screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X only sleep 0.2 for WINDOWOPEN in ${WINDOWSOPEN} do sleep 0.2 screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X split screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X focus screen -S ${SCREENSESSION} -p ${WINDOWOPEN} -X select ${WINDOWOPEN} done screen -S ${SCREENSESSION} -p ${WINDOWSTART} -X wall "Opened ${NUMBERSCREEN} screen windows" fi }