# Features
This should be a standard, fully-featured Neovim GUI. Beyond that there are some visual niceties
listed below :)
## Ligatures
Supports ligatures and font shaping.
## Animated Cursor
Cursor animates into position with a smear effect to improve tracking of cursor position.
## Smooth Scrolling
Scroll operations on buffers in neovim will be animated smoothly pixel wise rather than line by line
at a time.
Note: [multigrid](command-line-reference.md#multigrid) must be enabled for this to work.
## Animated Windows
Windows animate into position when they are moved making it easier to see how layout changes happen.
Note: [multigrid](command-line-reference.md#multigrid) must be enabled for this to work.
## Blurred Floating Windows
The backgrounds of floating windows are blurred improving the visual separation between foreground
and background from built in window transparency.
Note: [multigrid](command-line-reference.md#multigrid) must be enabled for this to work.
## Emoji Support
Font fallback supports rendering of emoji not contained in the configured font.
## WSL Support
Neovide supports displaying a full gui window from inside wsl via the `--wsl` command argument.
Communication is passed via standard io into the wsl copy of neovim providing identical experience
similar to Visual Studio Code's
[Remote Editing](https://code.visualstudio.com/docs/remote/remote-overview).
## Remote TCP Support
Neovide supports connecting to a remote instance of Neovim over a TCP socket via the `--remote-tcp`
command argument. This would allow you to run Neovim on a remote machine and use the GUI on your
local machine, connecting over the network.
Launch Neovim as a TCP server (on port 6666) by running:
```sh
nvim --headless --listen localhost:6666
```
And then connect to it using:
```sh
/path/to/neovide --remote-tcp=localhost:6666
```
By specifying to listen on localhost, you only allow connections from your local computer. If you
are actually doing this over a network you will want to use SSH port forwarding for security, and
then connect as before.
```sh
ssh -L 6666:localhost:6666 ip.of.other.machine nvim --headless --listen localhost:6666
```
Finally, if you would like to leave the neovim server running, close the neovide application window
instead of issuing a `:q` command.
## Some Nonsense ;)
To learn how to configure the following, head on over to the
[configuration](./configuration.md#cursor-particles) section!
### Railgun
### Torpedo
### Pixiedust
### Sonic Boom
### Ripple
### Wireframe