diff --git a/README.md b/README.md index 5ffaba1..65108ee 100644 --- a/README.md +++ b/README.md @@ -274,6 +274,8 @@ Special characters: * `LP_MARK_BRACKET_CLOSE` (default: "]") marks around the main part of the prompt * `LP_TITLE_OPEN` (default: "\e]0;") escape character opening a window's title * `LP_TITLE_CLOSE` (default: "\a") escape character closing a window's title +* `LP_SCREEN_TITLE_OPEN` (default: "\033k") escape character opening screen window's title +* `LP_SCREEN_TITLE_CLOSE` (default: "\033\134") escape character closing screen window's title ## KNOWN LIMITATIONS AND BUGS diff --git a/liquidprompt b/liquidprompt index 35b6907..9c757c3 100755 --- a/liquidprompt +++ b/liquidprompt @@ -197,6 +197,8 @@ _lp_source_config() LP_PS1_PREFIX=${LP_PS1_PREFIX:-""} LP_TITLE_OPEN=${LP_TITLE_OPEN:-"\e]0;"} LP_TITLE_CLOSE=${LP_TITLE_CLOSE:-"\a"} + LP_SCREEN_TITLE_OPEN=${LP_SCREEN_TITLE_OPEN:-"\033k"} + LP_SCREEN_TITLE_CLOSE=${LP_SCREEN_TITLE_CLOSE:-"\033\134"} LP_ENABLE_PERM=${LP_ENABLE_PERM:-1} LP_ENABLE_SHORTEN_PATH=${LP_ENABLE_SHORTEN_PATH:-1} @@ -1134,8 +1136,14 @@ _lp_title() # Use it in the window's title # Escapes whill tells bash to ignore the non-printing control characters when calculating the width of the prompt. # Otherwise line editing commands will mess the cursor positionning - local title="${_LP_OPEN_ESC}${LP_TITLE_OPEN}${txt}${LP_TITLE_CLOSE}${_LP_CLOSE_ESC}" - + case "$TERM" in + xterm*|rxvt*) + local title="${_LP_OPEN_ESC}${LP_TITLE_OPEN}${txt}${LP_TITLE_CLOSE}${_LP_CLOSE_ESC}" + ;; + screen*) + local title="${_LP_OPEN_ESC}${LP_SCREEN_TITLE_OPEN}${txt}${LP_SCREEN_TITLE_CLOSE}${_LP_CLOSE_ESC}" + ;; + esac echo -n "${title}" } @@ -1314,7 +1322,6 @@ _lp_set_prompt() PS1="${PS1}${LP_ERR}${LP_MARK}" # "invisible" parts - # Get the current prompt on the fly and make it a title LP_TITLE=$(_lp_title "$PS1")