diff options
Diffstat (limited to 'src/twopane.bash')
-rwxr-xr-x | src/twopane.bash | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/twopane.bash b/src/twopane.bash index db04588..0bec248 100755 --- a/src/twopane.bash +++ b/src/twopane.bash | |||
@@ -415,6 +415,11 @@ SIGCHLD() | |||
415 | i "SIGCHILD: ${BASH_COMMAND@A}" | 415 | i "SIGCHILD: ${BASH_COMMAND@A}" |
416 | } | 416 | } |
417 | 417 | ||
418 | killpgrp() | ||
419 | { | ||
420 | (( $# == 2 )) && /bin/kill "$1" -- -"$2" | ||
421 | } | ||
422 | |||
418 | prompt_command() | 423 | prompt_command() |
419 | { | 424 | { |
420 | [ "$TOP_EXIT" = 'restart' ] || return 0 | 425 | [ "$TOP_EXIT" = 'restart' ] || return 0 |
@@ -432,12 +437,12 @@ prompt_command() | |||
432 | return | 437 | return |
433 | fi | 438 | fi |
434 | 439 | ||
435 | read _ jobstatus _ <<< "${job?Internal error: line $LINENO}" | 440 | read _ jobstatus _ <<< "${job?${LINENO@A}}" |
436 | case "${jobstatus?Internal error: line $LINENO}" in | 441 | case "${jobstatus?${LINENO@A}}" in |
437 | Running ) | 442 | Running ) |
438 | jobs -x finally 'attach' kill -CONT %tty_forward | 443 | jobs -x finally 'attach' killpgrp -CONT %tty_forward |
439 | ;; | 444 | ;; |
440 | Terminated | Interrupt ) | 445 | Interrupt ) |
441 | finally 'start' : | 446 | finally 'start' : |
442 | ;; | 447 | ;; |
443 | Stopped ) | 448 | Stopped ) |