mirror of
https://github.com/neovim/neovim.git
synced 2026-08-14 11:29:31 +00:00
fix(defaults): emit events on automatic background change #41242
Problem: After #40270, events are no longer emitted from the automatic background detection. This applies not just during startup, but also if the user manually changes the background of their terminal. Solution: Set the background as normal, assuming that a normal terminal will respond within 100 ms. Change test to match expected behavior: - BG set during startup won't trigger user autocmds since it runs before any user config - If the terminal takes longer than 100 ms to respond to initial OSC 11, it does trigger the OptionSet, but it is triggered through the normal path to ensure values like v:option_new are set #38551 - BG change after startup still triggers autocmds #41146
This commit is contained in:
@@ -964,8 +964,7 @@ do
|
||||
if rr and gg and bb then
|
||||
local luminance = (0.299 * rr) + (0.587 * gg) + (0.114 * bb)
|
||||
local bg = luminance < 0.5 and 'dark' or 'light'
|
||||
-- Use :noautocmd to suppress OptionSet event; OSC11 response may arrive after VimEnter.
|
||||
vim.cmd('noautocmd set background=' .. bg)
|
||||
vim.o.background = bg
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user