Commit graph

208 commits

Author SHA1 Message Date
Morax d5f6810095
fix: render COLRv1 fonts on Linux (#3544)
Some checks failed
Lint Website / Lint website (push) Has been cancelled
Build and Publish Website / Build Website (push) Has been cancelled
Build and Publish Website / Generate Sitemap (push) Has been cancelled
Build and Publish Website / Publish Website (push) Has been cancelled
* fix: render COLRv1 fonts on Linux

---------

Co-authored-by: Alexsander Falcucci <alex.falcucci@gmail.com>
2026-09-05 00:52:17 +02:00
Alexsander Falcucci 9477f53a9c
macOS: add a custom native Editors window switcher (#3527)
we are now replacing the native tabs switcher into a Neovide-owned custom editor switcher.

Why?

The native tab overview was a temporary choice for this feature. 

editors should be about moving between Neovide editors without limitations,
but tying it to the system tabs overview made the behavior depend on whether native
tabs to be enabled, plus hacking to make it work properly not affecting separate
windows. 

users who prefers separate-window has been forced to merge
and detach windows just to present a choice to switcher windows easier which
made the single-window case fall back to pinned-window toggling. That
was a known gap.

now with a Neovide-owned custom switcher it gives both modes the
outcome.

NOTE: behavior-wise shouldn't change, besides the switcher appearing now even
for separate-window mode.
2026-07-18 01:25:19 +02:00
Alexsander Falcucci 618605b79d
add startup-message capture settings (#3517)
Some checks failed
Lint Website / Lint website (push) Has been cancelled
Build and Publish Website / Build Website (push) Has been cancelled
Build and Publish Website / Generate Sitemap (push) Has been cancelled
Build and Publish Website / Publish Website (push) Has been cancelled
neovide started temporarily requesting external messages in #3504 so
startup errors from #3499 would not disappear behind a hit-enter prompt
before the first grid was rendered.

losing early startup errors is a bad failure mode and users should not have to
guess why Neovim is stuck before neovide has a real message area.

but this also made neovide advertise ext_messages and ext_cmdline during
plugin startup. noice.nvim explicitly checks nvim_list_uis() before
attaching its own UI and refuses to handle messages or the cmdline when
another UI client already owns those extensions.
2026-06-17 09:58:13 +02:00
Alexsander Falcucci 510d7f1b8a
macos: add system window proxy icon support (#3494)
driven by the document state, we are using the NSWindow
representedFilename API's to sync the current buffer state.
2026-04-23 20:00:27 +02:00
Ole c8b801493a
feat: settings for menu shortcuts on macOS (#3481)
* feat: settings for menu shortcuts on macOS

---------

Co-authored-by: Alexsander Falcucci <alex.falcucci@gmail.com>
2026-04-22 11:26:25 +02:00
Alexsander Falcucci afb366be0c
docs: update tracy dependency instructions (#3472) 2026-04-13 22:50:52 +02:00
Alexsander Falcucci 458bfd0578
docs: update nightly references to 0.16 (#3435) 2026-03-30 21:04:58 +02:00
Alexsander Falcucci b943884298
fix: remove theme option from config file (#3433)
we mistakenly added a theme option to the config file, but it is not
actually used anywhere, must be impl in the future.

let g:neovide_theme has no changes.
2026-03-30 13:39:54 +02:00
Alexsander Falcucci 12c2a97a94
fix: rename macos-* to system-* for multi-window settings (#3432)
naming it for a target OS is not correct, lets keep it generic.
2026-03-30 01:42:39 +02:00
Alexsander Falcucci 6cac6da20a
docs: --new-window handoff (#3425)
just a simple documentation atm.
2026-03-25 15:30:52 +01:00
Alexsander Falcucci a3fa12ee74
docs: --reuse-instance handoff (#3424)
just a simple documentation for now.
2026-03-25 15:28:08 +01:00
Amanda Graven fd89a37167
Implement corner preference (#2825)
* Implement corner preference

* finish the corner preference support

---------

Co-authored-by: Alexsander Falcucci <alex.falcucci@gmail.com>
2026-03-19 18:03:27 +01:00
Alexsander Falcucci 1f8c082f39
hotreload: support idle config option (#3409)
simple support for the `idle` setting.
2026-03-18 23:11:44 +01:00
Alexsander Falcucci 26ea47b0f3
hotreload: treat window geometry as one setting (#3407)
size and grid are not independent runtime options. together with
`maximized` they define one mutually exclusive geometry choice,
so we don't model them as separate hot reload events.

todo: we need to improve how we declare mutually exclusive config
options in the config file.

if reload emitted a size/grid independently, then a transition like size -> grid
would depend on event order and could briefly drive invalid state.

in the end, we make geometry hot reload work, but we do it in a way that preserves the
actual model. One geometry setting, one parser, one reload event, one place to
apply it.
2026-03-17 21:27:30 +01:00
Alexsander Falcucci 1e06dcd06d
feat: add opt-in cell color fallback on cursor (#3402)
we already know the style of the cell under the cursor. Not using the cell color
fallback when `guicursor` leaves fg/bg unset, not falling back means the block
cursor ignores the actual colors being shown in that cell.

In fact instead, neovim ui protocol leave this responsability up the client to impl,
which is reasonable.

we also add `neovide_cursor_cell_color_fallback` as an opt-in. If enabled, the cursor falls
back to the covered cell colors, while explicit cursor colors still override them.

the trail vfx now keep a stable per-particle emission color. each particle captures the
cursor color when it is spawned, and rendering uses that stored color instead of
re-resolving from the current cursor position.
2026-03-14 00:38:17 +01:00
Alexsander Falcucci b3a68695ea
docs: add nightly tag for multi-window (#3378) 2026-02-28 08:16:37 +01:00
Alexsander Falcucci d1402ca3d0
docs: minor update for macos multi-window (#3377) 2026-02-28 07:49:50 +01:00
Alexsander Falcucci 176d343dd9
feat: refactor for multi-window support and macos enhancements (#2872)
Introduce route ids and route targeted events so ui
commands and redraws can be scoped per window. this
adds route cores for pre window startup.

This refactors event flow so each OS window is a routed endpoint.
The EventPayload now carries EventTarget and NeovimHandler tracks a
route_id + per-route UI channels, keeping redraw and UI traffic
pinned to the right window.

Also the window lifecycle code now uses per-route renderer state for grid
sync, IME positioning and resize decisions so multiple windows do
not share mutable state.

note: macos native tabs and navigation now ride on the same route aware flow.
2026-02-27 07:06:30 +01:00
Alexsander Falcucci ff2e98a26c
feat: add toggle for message area drag selection (#3372)
add g:neovide_message_area_drag_selection with defaults to true so users can disable
the experimental client-se message drag selection when needed or if needed.
2026-02-18 23:02:43 +01:00
Ashley Hauck e0f435646b
add g:neovide_pixel_geometry setting (#3367) 2026-02-16 20:27:02 +01:00
Alexsander Falcucci 4f75ee609d
docs: add mutually exclusive comment to avoid confusion (#3365) 2026-02-15 21:53:52 +01:00
Alexsander Falcucci 14561a89c6
feat: adding missing neovide e.g {server, size, grid} to config (#3364)
docs: adding the new neovide e.g {server, size, grid} documentation
2026-02-15 21:44:33 +01:00
Alexsander Falcucci 7a3f56830c
add stable and nightly channels in the installation page (#3359) 2026-02-10 17:35:06 +01:00
Alexsander Falcucci 05111ef8cb
feat: introduce macos matching pair highlight with find indicator (#3346) 2026-02-06 22:25:12 +01:00
fredizzimo 91f8b8dbc5
fix: re-enable the IME pre-edit support (#3221)
Co-authored-by: sevenc-nanashi <sevenc7c@sevenc7c.com>
Co-authored-by: Alexsander Falcucci <alex.falcucci@gmail.com>
2026-02-04 19:30:24 +01:00
Alexsander Falcucci 7906002bc9
fix: update clipboard compatibility copy function (#3345) 2026-02-02 14:24:06 +01:00
Michael Winters 07df03ae42
docs: fix and simplify clipboard bindings example (#3337)
Co-authored-by: Alexsander Falcucci <alex.falcucci@gmail.com>
Co-authored-by: lkhphuc <phuc@lkhphuc.com>
2026-01-27 15:55:07 +01:00
Alexsander Falcucci 45907e3e34
docs: document neovide startup issues and opengl workarounds (#3339) 2026-01-23 13:21:25 +01:00
Alexsander Falcucci 88a7438b7a
refactor: remove legacy background color setting (#3328) 2026-01-04 19:42:18 +01:00
Alexsander Falcucci ef83b97632
feat: set window borders enabled by default (#3329) 2025-12-29 12:57:05 -05:00
Alexsander Falcucci 11aeb0f877
docs: refer to nightly builds for better visibility (#3310) 2025-11-28 09:33:18 +01:00
Alexsander Falcucci 236be5ca9f
feat: introduce touchpad pressure preview actions for url/file/text (#2762) 2025-11-27 06:57:31 +01:00
Alexsander Falcucci 01782723dc
docs: add sponsor page and update contribution options (#3302) 2025-11-21 06:53:03 +01:00
fredizzimo 701526fbff
fix: always auto-detect the background color, support setting the window theme (#3207)
Co-authored-by: Alexsander Falcucci <alex.falcucci@gmail.com>
2025-11-21 06:41:24 +01:00
Alexsander Falcucci 822874fd4f
feat: support working directory via env and config (#3301) 2025-11-19 03:01:30 +01:00
Alexsander Falcucci 71329a547e
website: update the discord badge image to use shields.io instead of badgen.net (#3288) 2025-11-14 17:17:46 +01:00
fboundp 59794ff4ad
add --chdir option (#2800)
Co-authored-by: Alexsander Falcucci <alex.falcucci@gmail.com>
2025-11-12 19:40:15 +01:00
Alexsander Falcucci faf1d8ad37
feat: add animated progress bar with nvim_echo event support (#3279) 2025-11-09 13:20:34 +01:00
Alexsander Falcucci 79c8697236
feat: include a new icon field in the configuration file (#3274) 2025-11-03 02:10:46 +01:00
Alexsander Falcucci f1bdcdcd4b
feat: add :NeovideConfig command to open the configuration file (#3275) 2025-11-03 01:42:51 +01:00
Alexsander Falcucci 1c26be7afa
feat: handling a custom icon path if provided (#3272) 2025-10-30 23:58:09 +01:00
fredizzimo d26376444c
fix: Send 0 for the mouse grid if Neovim supports it (#3111)
* Let Neovim determine the mouse grid when supported

* Update documentation
2025-10-14 19:10:56 +03:00
fredizzimo eba15553fb
Add editorconfig (#3241) 2025-10-01 15:52:16 +03:00
Barnabas Seres d7a7f27253
feat: Add underline offset config to adjust underline position (#3148)
* Added underline_offset to config, now overrides font metrics and default offset

* Added documentation for underline_offset to config-file entry

* Invert underline offset setting value

* Made underline_offset an Option and updated documentation

* Format config-file.md

---------

Co-authored-by: Fred Sundvik <fsundvik@gmail.com>
2025-10-01 15:41:06 +03:00
fredizzimo af773da75e
Revert "feat: add Lua API of IME event handling (#3110)" (#3218)
This reverts commit 75ae946835.
2025-09-12 15:56:51 +03:00
fredizzimo 68fefed0b9
fix: remove unimplemented theme setting from the config file (#3208) 2025-09-10 19:09:55 +03:00
kanium 75ae946835
feat: add Lua API of IME event handling (#3110)
* feat: add preedit support when enabled IME mode

related to neovide#1931

* feat: support multi-line editing when IME is enabled

* feat: add an API for handling IME events

Default action is to insert commited text after the cursor. And, you can
customize the behavior when preeditted or committed.

* Revert to previous behavior

If the text which you input is committed, process as key input
regardless of mode of neovim

* doc: update related contents of IME handling API

* feat: support sending raw text and cursor offset

* doc: add the content to enable preedit of IME

* fix: broken link in faq

* style: format ui_commands.rs

* style: format api.md and faq.md

* style: format api.md again

100 chars line len
2025-09-10 10:53:45 +03:00
Valery Viktorovsky fcee0fc7e1
Fix title-hidden default value and clarify srgb platform defaults in documentation (#3141) 2025-07-20 22:35:27 +03:00
fredizzimo 738c8a892b
fix: publishing to crates-io (#3171)
* Bump the neovide-derive version number

* Update crates-io publishing instructions
2025-07-20 13:39:38 +03:00
fredizzimo 0089f61453
Release 0.15.1 (#3169)
* Update dependencies

* Bump the version number

* Change unreleased yet tags

* Fix the version number in the lockfile
2025-07-20 12:19:32 +03:00