Cursor animations and other visual effects #1136
Replies: 5 comments 10 replies
-
While I'm not personally sold on the warping cursor effect in neovide (the motion feels excessive and distracting to me, but I know this is subjective!), I have been thinking about eg: cursor animation. Since wezterm supports frame scheduling for animated gifs/pngs, it's not a huge stretch to replace the currently separate logic that manages what are effectively frames for cursor blinking and consolidate it with the more general image frame management. In other words, it wouldn't be terribly difficult to support using animated gifs for the text cursor instead of the current static textures. The basic warp/stretch effect in neovide is probably not too difficult to replicate if wezterm could remember the prior cursor position and then interpolate the new coordinates for the quad when it notices a change, but we don't currently have a thing to manage that kind of animation: only timing for switching to a new frame, so the GUI layer would need to grow something to help with that, and in turn, that might be sufficient to use for some of the particle effects on the cursor trail. |
Beta Was this translation helpful? Give feedback.
-
I totally understand that the cursor warping can feel “excessive and distracting”, but when I first saw it in Neovide, I thought “wow, that’s really helpful!”. Sure, Neovide’s particle effects are just for showing off, but a warping cursor can be an accessibility feature, just like smooth scrolling. It enables you to better track where the cursor is moving to, e.g. when jumping between tmux windows, or after a On the other hand, I don’t care at all for having a Darktile-style duck image as my cursor. ;) |
Beta Was this translation helpful? Give feedback.
-
Just indicating interest in this as well! Neovide-like animations would be really nice for tracking large cursor movements |
Beta Was this translation helpful? Give feedback.
-
Super interested in this!! @wez, any updates on this? |
Beta Was this translation helpful? Give feedback.
-
Looks like kitty have implemented this here: https://github.com/kovidgoyal/kitty/pull/7970/files Could we bring this through from there or use this as a reference implementation? |
Beta Was this translation helpful? Give feedback.
-
https://github.com/neovide/neovide has really cool cursor effects, would be nice to have them here.
There's also various silly fun stuff around like power mode :D
Beta Was this translation helpful? Give feedback.
All reactions