aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-05-11 10:48:48 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-05-26 07:46:24 +0800
commit43d66c0ebbe43f40a1f76e1635ccef6181c01317 (patch)
tree6d0125d9c570eaecb441b3a672c48edfd01fdac9
parentee986ee0449b828ca64bf7d4c69624596aab8319 (diff)
downloadrneovim-43d66c0ebbe43f40a1f76e1635ccef6181c01317.tar.gz
rneovim-43d66c0ebbe43f40a1f76e1635ccef6181c01317.tar.bz2
rneovim-43d66c0ebbe43f40a1f76e1635ccef6181c01317.zip
fix(ui-ext): send title to newly-attached UI
-rw-r--r--src/nvim/buffer.c1
-rw-r--r--src/nvim/ex_docmd.c3
-rw-r--r--src/nvim/ui.c3
-rw-r--r--test/functional/ui/screen_basic_spec.lua12
4 files changed, 14 insertions, 5 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index 11b79fcede..dab07487cd 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -3444,7 +3444,6 @@ void resettitle(void)
{
ui_call_set_icon(cstr_as_string(lasticon));
ui_call_set_title(cstr_as_string(lasttitle));
- ui_flush();
}
#if defined(EXITFREE)
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 9666d80de2..39a54fa236 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -4875,9 +4875,6 @@ static void ex_stop(exarg_T *eap)
ui_call_suspend();
ui_flush();
- maketitle();
- resettitle(); // force updating the title
- ui_refresh(); // may have resized window
apply_autocmds(EVENT_VIMRESUME, NULL, NULL, false, NULL);
}
diff --git a/src/nvim/ui.c b/src/nvim/ui.c
index 8c31032492..87a0271f3d 100644
--- a/src/nvim/ui.c
+++ b/src/nvim/ui.c
@@ -15,7 +15,7 @@
#include "nvim/api/ui.h"
#include "nvim/ascii.h"
#include "nvim/autocmd.h"
-#include "nvim/buffer_defs.h"
+#include "nvim/buffer.h"
#include "nvim/cursor_shape.h"
#include "nvim/drawscreen.h"
#include "nvim/ex_getln.h"
@@ -348,6 +348,7 @@ void ui_attach_impl(UI *ui, uint64_t chanid)
uis[ui_count++] = ui;
ui_refresh_options();
+ resettitle();
for (UIExtension i = kUIGlobalCount; (int)i < kUIExtCount; i++) {
ui_set_ext_option(ui, i, ui->ui_ext[i]);
diff --git a/test/functional/ui/screen_basic_spec.lua b/test/functional/ui/screen_basic_spec.lua
index b31e40d4ab..67e3b774b4 100644
--- a/test/functional/ui/screen_basic_spec.lua
+++ b/test/functional/ui/screen_basic_spec.lua
@@ -117,6 +117,12 @@ local function screen_tests(linegrid)
screen:expect(function()
eq(expected, screen.title)
end)
+ screen:detach()
+ screen.title = nil
+ screen:attach()
+ screen:expect(function()
+ eq(expected, screen.title)
+ end)
end)
end)
@@ -128,6 +134,12 @@ local function screen_tests(linegrid)
screen:expect(function()
eq(expected, screen.icon)
end)
+ screen:detach()
+ screen.icon = nil
+ screen:attach()
+ screen:expect(function()
+ eq(expected, screen.icon)
+ end)
end)
end)