From cbf4f77d6b81f6eb7a82a89311c04c9234ea7fbc Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Tue, 12 Sep 2017 21:35:35 +0200 Subject: [PATCH] titlebar: don't reshow version when dropping back to a single buffer When multiple files were open and [x/n] was being shown in the title bar, don't show nano's name and version number when just one buffer remains open, but show [1/1] instead. It is less surprising. --- src/files.c | 1 + src/global.c | 3 +++ src/proto.h | 2 ++ src/winio.c | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/files.c b/src/files.c index bf8d8f05..df3bb3e3 100644 --- a/src/files.c +++ b/src/files.c @@ -78,6 +78,7 @@ void make_new_buffer(void) /* There is more than one file open: show "Close" in help lines. */ exitfunc->desc = close_tag; + more_than_one = TRUE; } /* Make the new buffer the current one, and start initializing it. */ diff --git a/src/global.c b/src/global.c index 328d20f2..7a56664b 100644 --- a/src/global.c +++ b/src/global.c @@ -70,6 +70,9 @@ bool inhelp = FALSE; char *title = NULL; /* When not NULL: the title of the current help text. */ +bool more_than_one = FALSE; + /* Whether more than one buffer is or has been open. */ + int didfind = 0; /* Whether the last search found something. */ diff --git a/src/proto.h b/src/proto.h index 13cc5369..a9f826b3 100644 --- a/src/proto.h +++ b/src/proto.h @@ -56,6 +56,8 @@ extern filestruct *pletion_line; extern bool inhelp; extern char *title; +extern bool more_than_one; + extern int didfind; extern int controlleft; diff --git a/src/winio.c b/src/winio.c index ebc37008..86f67b36 100644 --- a/src/winio.c +++ b/src/winio.c @@ -2030,7 +2030,7 @@ void titlebar(const char *path) * then sacrifice the prefix, and only then start dottifying. */ /* When multiple buffers are open, show which one out of how many. */ - if (path == NULL && firstfile != firstfile->next) { + if (path == NULL && more_than_one) { indicator = charalloc(24); sprintf(indicator, "[%i/%i]", buffer_number(openfile), buffer_number(firstfile->prev));