* usr/bin/byobu, usr/share/byobu/profiles/common: LP: #1031925

- 'byobu-screen -t foo' was hanging
  - seems that screen's shelltitle command in our common profile
    conflicts with the -t option on the command line
  - add a hack to byobu that detects this, and avoids hanging
  - set title to . otherwise (seems we need one printable character here)
This commit is contained in:
Dustin Kirkland 2013-01-15 18:21:44 -06:00
commit cc54fcf9f9
3 changed files with 24 additions and 8 deletions

7
debian/changelog vendored
View file

@ -1,6 +1,11 @@
byobu (5.28) unreleased; urgency=low byobu (5.28) unreleased; urgency=low
* UNRELEASED * usr/bin/byobu, usr/share/byobu/profiles/common: LP: #1031925
- 'byobu-screen -t foo' was hanging
- seems that screen's shelltitle command in our common profile
conflicts with the -t option on the command line
- add a hack to byobu that detects this, and avoids hanging
- set title to . otherwise (seems we need one printable character here)
-- Dustin Kirkland <kirkland@ubuntu.com> Mon, 14 Jan 2013 15:27:36 -0600 -- Dustin Kirkland <kirkland@ubuntu.com> Mon, 14 Jan 2013 15:27:36 -0600

View file

@ -136,8 +136,22 @@ case $BYOBU_BACKEND in
BYOBU_SESSION_NAME="-S $PKG" BYOBU_SESSION_NAME="-S $PKG"
# Zero out $BYOBU_SESSION_NAME if user has specified a session name # Zero out $BYOBU_SESSION_NAME if user has specified a session name
for i in "$@"; do for i in "$@"; do
case $i in -*r*|-*d*|-*D*|-*S*|-ls|-list) BYOBU_SESSION_NAME= ;; esac case $i in
-*r*|-*d*|-*D*|-*S*|-ls|-list)
BYOBU_SESSION_NAME=
;;
-t)
shelltitle=1
;;
esac
done done
if [ -n "$shelltitle" ]; then
unset shelltitle
unset BYOBU_SHELL_TITLE
else
BYOBU_SHELL_TITLE="-t ."
fi
sessions=$($BYOBU_BACKEND -wipe 2>/dev/null) || true sessions=$($BYOBU_BACKEND -wipe 2>/dev/null) || true
;; ;;
esac esac
@ -150,7 +164,7 @@ esac
if [ "$#" = "0" ]; then if [ "$#" = "0" ]; then
if [ "$CUSTOM_WINDOW_SET" = "1" ]; then if [ "$CUSTOM_WINDOW_SET" = "1" ]; then
# Start new custom window set session # Start new custom window set session
exec $BYOBU_BACKEND $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE exec $BYOBU_BACKEND $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE $BYOBU_SHELL_TITLE
else else
case "$sessions" in case "$sessions" in
*\(*\)*) *\(*\)*)
@ -159,13 +173,13 @@ if [ "$#" = "0" ]; then
;; ;;
*) *)
# Start new default session # Start new default session
exec $BYOBU_BACKEND $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE $DEFAULT_WINDOW exec $BYOBU_BACKEND $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE $BYOBU_SHELL_TITLE $DEFAULT_WINDOW
;; ;;
esac esac
fi fi
else else
# Launch with command line args # Launch with command line args
exec $BYOBU_BACKEND $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE "$@" exec $BYOBU_BACKEND $SCREEN_TERM $BYOBU_SESSION_NAME $BYOBU_PROFILE $BYOBU_SHELL_TITLE "$@"
fi fi
# vi: syntax=sh ts=4 noexpandtab # vi: syntax=sh ts=4 noexpandtab

View file

@ -73,9 +73,6 @@ activity ""
# Fit to the current window size, useful with F5/reloads of the profile # Fit to the current window size, useful with F5/reloads of the profile
fit fit
# Empty shell title by default, maximizes number of windows we can fit, F8 renames easily
shelltitle ""
# Maintain SSH_AUTH_SOCK link # Maintain SSH_AUTH_SOCK link
setenv SSH_AUTH_SOCK $BYOBU_CONFIG_DIR/.ssh-agent setenv SSH_AUTH_SOCK $BYOBU_CONFIG_DIR/.ssh-agent