top | item 20981979

(no title)

justinmk | 6 years ago

Replying to PeCaN:

> slightly concerned that neovim started to cut bloat in vim and ended up implementing a compositing window manager with fake transparency.

"Window manager" existed since vim got split-windows (1990s). Redesigning it as a compositor:

- isolates windows logically, so that UIs can do their own layout instead of being stuck with the TUI grid

- useful for implementing floating windows

- allows reasoning about layers instead of one grid driven by special-cases throughout the project

- helps with features such as "click through", z-index, etc.

The blending (fake transparency) was a small (~200 LoC) amount of code, added only for fun (and to ruffle feathers).

discuss

order

badosu|6 years ago

Also, if I am not mistaken, the code that handles the multiplexing (multigrid) was not made only for this feature, but a generalization that improves a lot of capabilities for GUIs.

Thanks for all the work Neovim team!

PeCaN|6 years ago

This is reasonable enough, but personally I'm not really convinced a text editor should be handling windows at all, especially since neovim allegedly is designed to be embedded by a ‘real’ UI (and presumably could be embedded by a terminal-based UI that handles windows—or just uses tmux).

I do recognize that I prefer software to be simpler than most people (for the record, much of the time I use ed(1)).