if vim.g.neovide then local cursor_vfx = { 'railgun', 'torpedo', 'pixiedust', 'sonicboom', 'ripple', 'wireframe' } math.randomseed(os.time()) vim.g.neovide_cursor_vfx_mode = cursor_vfx[math.random(1, #cursor_vfx)] vim.keymap.set('n', '', function() vim.g.neovide_fullscreen = not vim.g.neovide_fullscreen end, {}) -- Set GUI font -- vim.opt.guifont = 'Iosevka Rootiest V2:#e-subpixelantialias:h12' -- refresh rate and translucency vim.g.neovide_refresh_rate = 170 vim.g.neovide_opacity = 0.85 vim.g.neovide_normal_opacity = 0.85 vim.g.neovide_window_blurred = true vim.g.neovide_floating_blur_amount_x = 2.0 vim.g.neovide_floating_blur_amount_y = 2.0 -- cursor fx vim.g.neovide_cursor_vfx_mode = 'pixiedust' vim.g.neovide_cursor_smooth_blink = true vim.g.neovide_cursor_vfx_particle_density = 16.8 vim.g.neovide_cursor_vfx_particle_lifetime = 2.2 vim.g.neovide_cursor_vfx_particle_phase = 1.2 vim.g.neovide_cursor_vfx_particle_curl = 1.0 vim.g.neovide_cursor_animation_length = 0.08 vim.g.neovide_cursor_trail_size = 0.8 -- floating shadow vim.g.neovide_floating_shadow = true vim.g.neovide_floating_z_height = 10 vim.g.neovide_light_angle_degrees = 45 vim.g.neovide_light_radius = 3 vim.g.neovide_floating_blur_amount_x = 1.0 vim.g.neovide_floating_blur_amount_y = 1.0 vim.g.neovide_floating_corner_radius = 0.50 -- scaling vim.g.neovide_scale_factor = 1.0 -- padding vim.g.neovide_padding_top = 0 vim.g.neovide_padding_bottom = 0 vim.g.neovide_padding_right = 0 vim.g.neovide_padding_left = 0 -- Set terminal colors (catppuccin mocha) vim.g.terminal_color_0 = '#45475a' vim.g.terminal_color_1 = '#f38ba8' vim.g.terminal_color_2 = '#a6e3a1' vim.g.terminal_color_3 = '#f9e2af' vim.g.terminal_color_4 = '#89b4fa' vim.g.terminal_color_5 = '#f5c2e7' vim.g.terminal_color_6 = '#94e2d5' vim.g.terminal_color_7 = '#bac2de' vim.g.terminal_color_8 = '#585b70' vim.g.terminal_color_9 = '#f38ba8' vim.g.terminal_color_10 = '#a6e3a1' vim.g.terminal_color_11 = '#f9e2af' vim.g.terminal_color_12 = '#89b4fa' vim.g.terminal_color_13 = '#f5c2e7' vim.g.terminal_color_14 = '#94e2d5' vim.g.terminal_color_15 = '#a6adc8' -- Terminal Colors vim.g.neovide_background_color = '#1E1E2E' vim.g.neovide_foreground_color = '#cdd6f4' vim.g.neovide_cursor_text_color = '#f5e0dc' -- Set terminal colors vim.api.nvim_set_hl( 0, 'Normal', { fg = vim.g.neovide_foreground_color, bg = vim.g.neovide_background_color } ) -- Set cursor color vim.api.nvim_set_hl(0, 'Cursor', { fg = vim.g.neovide_cursor_text_color, bg = vim.g.neovide_background_color, }) -- Title background color vim.g.neovide_title_background_color = string.format( '%x', vim.api.nvim_get_hl(0, { id = vim.api.nvim_get_hl_id_by_name('Normal') }).bg ) -- Title text color vim.g.neovide_title_text_color = 'pink' -- ━━━━━━━━━━━━━━━━━━━━━━━━━ Clipboard mappings ━━━━━━━━━━━━━━━━━━━━━━ local modes = { 'n', 'v', 'c', 'i' } -- System clipboard mappings for _, mode in ipairs(modes) do if mode == 'c' or mode == 'i' then vim.keymap.set(mode, '', '+', { silent = true }) vim.keymap.set(mode, '', '+', { silent = true }) else vim.keymap.set(mode, '', ':r !xsel -b', { silent = true }) vim.keymap.set(mode, '', ':w !xsel -i -b', { silent = true }) end end -- Wezterm-style clipboard mappings (Control-Shift) for _, mode in ipairs(modes) do if mode == 'c' or mode == 'i' then vim.keymap.set(mode, '', '+', { silent = true }) vim.keymap.set(mode, '', '+', { silent = true }) else vim.keymap.set(mode, '', ':r !xsel -b', { silent = true }) vim.keymap.set(mode, '', ':w !xsel -i -b', { silent = true }) end end -- Hide commandline vim.o.laststatus = 0 vim.o.cmdheight = 0 -- Set titlebar text vim.opt.titlestring = 'NeoTerm' vim.opt.title = true -- Start terminal and configure quit behavior vim.cmd([[ set termguicolors terminal startinsert autocmd BufLeave term://* quit ]]) end