if vim.g.neovide then -- Neovide has no bundled fallback font, unlike wezterm, which also draws -- box and block glyphs itself instead of asking the font for them. -- So the chain has to be spelled out, and every link earns its place: -- JetBrains Mono the text, same as wezterm uses -- Symbols Nerd Font Mono every `nf-*` icon in `std.icon` -- Cascadia Code braille ( the spinner ) and block elements -- Segoe UI Symbol ↴ ⦿ 🔭 and friends, win32 only -- DejaVu Sans Mono the same job on linux -- Missing families are skipped, so listing both platforms is harmless. local font_size = vim.fn.hostname() == 'x230' and 11 or 13 vim.opt.guifont = ( '%s:h%d' ):format( table.concat( { 'JetBrains Mono', 'Symbols Nerd Font Mono', 'Cascadia Code', 'Segoe UI Symbol', 'DejaVu Sans Mono', }, ',' ), font_size ) vim.opt.pumblend = 15 vim.opt.winblend = 15 vim.g.neovide_profiler = false vim.g.neovide_opacity = 0.84 vim.g.neovide_floating_blur_amount_x = 4.0 vim.g.neovide_floating_blur_amount_y = 4.0 vim.g.neovide_floating_corner_radius = 0.42 vim.g.neovide_position_animation_length = 0.12 vim.g.neovide_scroll_animation_length = 0.2 vim.g.neovide_cursor_animation_length = 0.1 vim.g.neovide_cursor_trail_size = 0.8 vim.g.neovide_cursor_vfx_mode = 'railgun' -- interpret all touch events as scroll events vim.g.neovide_touch_deadzone = 0.0 -- after this timeout, start a visual selection vim.g.neovide_underline_stroke_scale = 2.5 vim.g.neovide_touch_drag_timeout = 0.69 vim.g.neovide_padding_top = 8 vim.g.neovide_padding_left = 8 vim.g.neovide_padding_bottom = 8 vim.g.neovide_padding_right = 8 vim.g.neovide_hide_mouse_when_typing = true vim.g.neovide_refresh_rate_idle = 5 vim.g.neovide_theme = 'auto' end