diff --git a/lua/nvim-tree/view.lua b/lua/nvim-tree/view.lua index 1e9a412a875..f30eb2720a4 100644 --- a/lua/nvim-tree/view.lua +++ b/lua/nvim-tree/view.lua @@ -346,14 +346,18 @@ function M.resize(size) return end - local new_size = get_width() - vim.api.nvim_win_set_width(M.get_winnr() or 0, new_size) + local winnr = M.get_winnr() or 0 - events._dispatch_on_tree_resize(new_size) + local new_size = get_width() - if not M.View.preserve_window_proportions then - vim.cmd ":wincmd =" + if new_size ~= vim.api.nvim_win_get_width(winnr) then + vim.api.nvim_win_set_width(winnr, new_size) + if not M.View.preserve_window_proportions then + vim.cmd ":wincmd =" + end end + + events._dispatch_on_tree_resize(new_size) end function M.reposition_window()