'titleold': simplify behavior

- default 'titleold' to empty
- set title on exit if 'title' is enabled and 'titleold' is non-empty
- update docs
This commit is contained in:
Justin M. Keyes
2017-10-05 09:14:18 +02:00
parent 5f4d2edeee
commit 70e84a7c4c
6 changed files with 9 additions and 18 deletions

View File

@@ -6267,11 +6267,11 @@ A jump table for the options with a short description can be found at |Q_op|.
when part of a command has been typed.
*'title'* *'notitle'*
'title' boolean (default off, on when title can be restored)
'title' boolean (default off)
global
When on, the title of the window will be set to the value of
'titlestring' (if it is not empty), or to:
filename [+=-] (path) - VIM
filename [+=-] (path) - NVIM
Where:
filename the name of the file being edited
- indicates the file cannot be modified, 'ma' off
@@ -6279,7 +6279,7 @@ A jump table for the options with a short description can be found at |Q_op|.
= indicates the file is read-only
=+ indicates the file is read-only and modified
(path) is the path of the file being edited
- VIM the server name |v:servername| or "VIM"
- NVIM the server name |v:servername| or "NVIM"
*'titlelen'*
'titlelen' number (default 85)
@@ -6295,11 +6295,10 @@ A jump table for the options with a short description can be found at |Q_op|.
'titlelen' is also used for the 'titlestring' option.
*'titleold'*
'titleold' string (default "Thanks for flying Vim")
'titleold' string (default "")
global
This option will be used for the window title when exiting Vim if the
original title cannot be restored. Only happens if 'title' is on or
'titlestring' is not empty.
If not empty, this option will be used to set the window title when
exiting. Only if 'title' is enabled.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'titlestring'*

View File

@@ -3069,14 +3069,11 @@ static bool ti_change(char_u *str, char_u **last)
/// Set current window title
void resettitle(void)
{
// if icon change, should the title be reset too?
if (p_icon) {
ui_call_set_title(cstr_as_string((char *)lasttitle));
ui_call_set_icon(cstr_as_string((char *)lasticon));
} else if (p_title) {
ui_call_set_title(cstr_as_string((char *)lasttitle));
}
if (p_title || p_icon) {
ui_call_set_title(cstr_as_string((char *)lasttitle));
ui_flush();
}
}

View File

@@ -279,7 +279,6 @@ EXTERN int need_wait_return INIT(= 0); /* need to wait for return later */
EXTERN int did_wait_return INIT(= FALSE); /* wait_return() was used and
nothing written since then */
EXTERN int need_maketitle INIT(= TRUE); /* call maketitle() soon */
EXTERN int did_enable_title INIT(= FALSE); /* did set title */
EXTERN int quit_more INIT(= FALSE); /* 'q' hit at "--more--" msg */
#if defined(UNIX) || defined(MACOS_X)

View File

@@ -1953,7 +1953,6 @@ did_set_title (
if (starting != NO_SCREEN) {
maketitle();
resettitle();
did_enable_title = true;
}
}

View File

@@ -2498,7 +2498,7 @@ return {
no_mkrc=true,
vi_def=true,
varname='p_titleold',
defaults={if_true={vi=N_("Thanks for flying Vim")}}
defaults={if_true={vi=N_("")}}
},
{
full_name='titlestring',

View File

@@ -138,10 +138,7 @@ void mch_exit(int r) FUNC_ATTR_NORETURN
{
exiting = true;
if ((p_title
|| (did_enable_title
&& (p_titlestring == NULL || STRLEN(p_titlestring) == 0)))
&& p_titleold != NULL) {
if (p_title && *p_titleold != NUL) {
ui_call_set_title(cstr_as_string((char *)p_titleold));
}
ui_builtin_stop();