@@ -51,6 +51,7 @@ function AerialNav.new(bufnr, winid)
5151 height = 20 ,
5252 border = config .nav .border ,
5353 style = " minimal" ,
54+ hide = true ,
5455 })
5556 local main_buf = create_buf ()
5657 local main_win = vim .api .nvim_open_win (main_buf , true , {
@@ -64,6 +65,7 @@ function AerialNav.new(bufnr, winid)
6465 border = config .nav .border == " rounded" and " single" or config .nav .border ,
6566 style = " minimal" ,
6667 zindex = 51 ,
68+ hide = true ,
6769 })
6870 local right_buf = create_buf ()
6971 local right_win = vim .api .nvim_open_win (right_buf , false , {
@@ -74,6 +76,7 @@ function AerialNav.new(bufnr, winid)
7476 height = 20 ,
7577 border = config .nav .border ,
7678 style = " minimal" ,
79+ hide = true ,
7780 })
7881 for _ , floatwin in ipairs ({ left_win , main_win , right_win }) do
7982 vim .api .nvim_set_option_value (
@@ -323,6 +326,12 @@ function AerialNav:relayout()
323326 vim .api .nvim_set_option_value (k , v , { scope = " local" , win = self .right .winid })
324327 end
325328 end
329+ -- Show windows after positioning (prevents flash on initial open)
330+ for _ , win in ipairs ({ self .left .winid , self .main .winid , self .right .winid }) do
331+ if vim .api .nvim_win_is_valid (win ) then
332+ vim .api .nvim_win_set_config (win , { hide = false })
333+ end
334+ end
326335end
327336
328337function AerialNav :close ()
@@ -368,6 +377,7 @@ M.open = function()
368377 _active_nav :focus_symbol (pos .closest_symbol )
369378 end
370379 end
380+ _active_nav :relayout ()
371381end
372382
373383M .toggle = function ()
0 commit comments