Oooh that looks sick. I'll see if I can make it happen
Its not looking good. Winit no decorations disables window resizing.
I did some fiddling and I think I could emulate resizing and window movement, but getting it to feel exactly right is going to be hard. For example on windows, window key plus arrow key should move it automatically which will be hard to do exactly right...
Heres the branch of what I have so far. https://github.com/Kethku/neovide/tree/testing-frameless
Any chance someone can try this branch and see if resize works on other platforms? This issue mentions the windows platform issue, but doesn't say if linux and mac work: https://github.com/rust-windowing/winit/issues/725
I will try it when I get back home and report back. Thanks
I get a panic running the specified branch.
$ RUST_BACKTRACE=1 ./neovide
thread 'main' panicked at 'Failed to parse emoji font data: Parse', src/libcore/result.rs:1165:5
stack backtrace:
0: std::io::Read::read_exact
1: core::fmt::ArgumentV1::show_usize
2: std::io::Write::write_fmt
3: std::panicking::default_hook::{{closure}}
4: std::panicking::default_hook
5: <std::panicking::begin_panic::PanicPayload<A> as core::panic::BoxMeUp>::get
6: std::panicking::continue_panic_fmt
7: std::panicking::try::do_call
8: std::thread::local::fast::Key<T>::try_initialize
9: std::thread::local::fast::Key<T>::try_initialize
10: core::result::Result<T,E>::expect
at /private/tmp/rust-20191221-83947-1gnlhtt/rustc-1.40.0-src/src/libcore/result.rs:960
11: neovide::renderer::caching_shaper::build_collection_by_font_name
at src/renderer/caching_shaper.rs:88
12: neovide::renderer::caching_shaper::FontSet::new
at src/renderer/caching_shaper.rs:110
13: neovide::renderer::caching_shaper::CachingShaper::new
at src/renderer/caching_shaper.rs:149
14: neovide::renderer::Renderer::new
at src/renderer/mod.rs:30
15: neovide::window::ui_loop
at src/window.rs:33
16: std::rt::lang_start::{{closure}}
at /private/tmp/rust-20191221-83947-1gnlhtt/rustc-1.40.0-src/src/libstd/rt.rs:61
17: std::panicking::try::do_call
18: panic_unwind::imp::find_eh_action::{{closure}}
19: std::sys_common::cleanup
20: neovide::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Ah this was my bad. I will rebase on master where this bug was fixed
Ok try now on that branch. I rebased and force pushed
Everything works nicely on Mac OS except for the part that I cannot drag the window around. In the patched version of neovim-qt I can drag the window using the top region of the window. The region where the top bar would have appeared if not frameless.
Frameless Neovide on Mac OS:)

Okeydokey. That shouldn't be too hard and I could even merge a version of this for mac and linux where it actually works and then merge windows support later. Dragging the window around shouldn't be too hard. This is encouraging :)
Question: How important do you think the rounded corners are?
It is actually a nice addition but I don't think it is bummer.
blocked on https://github.com/Kethku/neovide/issues/97
Hi @Kethku,
Since https://github.com/Kethku/neovide/issues/97 is close what is the status of this?
No pressure I was just asking :)
also chiming in and looking forward to this (on windows).
on Mac, iTerm2 uses a technique to embed the frame with the terminal window [action buttons only show up when mouse over]. This works fairly well.
yes, frameless would make neovide way more slick.

Some more requests for this have arrived. I think this is blocked on upstream winit support as toolbar-less windows are not resizable. I am open to PRs for this though if anybody wants to dig in
Chiming in to say it would be nice to have this even without window resizing. For those of us with tiling window managers it takes care of it. Doom emacs does this without resizing and rounded corners and its comes out quite nice

Thats a good point. I'll look into what it would entail.

works well on macOS, thanks!
One issue I've run into is that a frameless window can't be moved to a fullscreen space:

(it doesn't show in the screenshot but theres a grey error symbol on top of the neovide window)
Frameless emacs and iterm seem to work fine.
This might just be an issue with rust/something upstream and can't be fixed with neovide. alacritty has the same behavior
@shaunsingh probably because the window is not resizeable
Most helpful comment
Oooh that looks sick. I'll see if I can make it happen