'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. when part of a command has been typed.
*'title'* *'notitle'* *'title'* *'notitle'*
'title' boolean (default off, on when title can be restored) 'title' boolean (default off)
global global
When on, the title of the window will be set to the value of When on, the title of the window will be set to the value of
'titlestring' (if it is not empty), or to: 'titlestring' (if it is not empty), or to:
filename [+=-] (path) - VIM filename [+=-] (path) - NVIM
Where: Where:
filename the name of the file being edited filename the name of the file being edited
- indicates the file cannot be modified, 'ma' off - 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
=+ indicates the file is read-only and modified =+ indicates the file is read-only and modified
(path) is the path of the file being edited (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'*
'titlelen' number (default 85) '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. 'titlelen' is also used for the 'titlestring' option.
*'titleold'* *'titleold'*
'titleold' string (default "Thanks for flying Vim") 'titleold' string (default "")
global global
This option will be used for the window title when exiting Vim if the If not empty, this option will be used to set the window title when
original title cannot be restored. Only happens if 'title' is on or exiting. Only if 'title' is enabled.
'titlestring' is not empty.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons. security reasons.
*'titlestring'* *'titlestring'*

View File

@@ -3069,14 +3069,11 @@ static bool ti_change(char_u *str, char_u **last)
/// Set current window title /// Set current window title
void resettitle(void) void resettitle(void)
{ {
// if icon change, should the title be reset too?
if (p_icon) { if (p_icon) {
ui_call_set_title(cstr_as_string((char *)lasttitle));
ui_call_set_icon(cstr_as_string((char *)lasticon)); 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) { if (p_title || p_icon) {
ui_call_set_title(cstr_as_string((char *)lasttitle));
ui_flush(); 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 EXTERN int did_wait_return INIT(= FALSE); /* wait_return() was used and
nothing written since then */ nothing written since then */
EXTERN int need_maketitle INIT(= TRUE); /* call maketitle() soon */ 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 */ EXTERN int quit_more INIT(= FALSE); /* 'q' hit at "--more--" msg */
#if defined(UNIX) || defined(MACOS_X) #if defined(UNIX) || defined(MACOS_X)

View File

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

View File

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

View File

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