rogual / neovim-dot-app

Mac OS X GUI for Neovim
1.13k stars 62 forks source link

Non-native Full-screen #152

Open khalidchawtany opened 9 years ago

khalidchawtany commented 9 years ago

Could you provide an option to have non-native full-screen support, as the native full-screen moves you to another space and pressing CMD-Tab to move between windows causes a distracting animation (and its not instant).

Another thing I noticed is that, you cannot resize the applications window to fill the entire screen. It stretches to the point that the maximum number of characters can be drawn. It would be nice to fill the remaining space around the window through providing a padding and centering the content.

bambu commented 9 years ago

Thoughts on non-native fullscreen @rogual?

As for the second issue, that is an interesting bug. From my testing, it seems to resize based on the position of the cursor. Assuming that you are resizing from left to right, if you align the resize cursor so that the edge of the window lines up with the right most arrow, you can accomplish the full resize. The further to the left of the right arrow, the more of a gap there is at the end.

In the meantime, I would recommend that you checkout Spectacle for resizing to non-native full screen as most OSX apps now only support native fullscreen. It is what I have been using ever since someone mentioned it in a previous issue. It works quite nicely and it is fast.

khalidchawtany commented 9 years ago

There is no way to resize the window to fill the screen vertically. I can drag the window a little to the left and then resize it, till I know it would fill the screen horizontally. However, OS X does not allow windows to be moved upwards past the top screen edge, so it is not possible to resize using this trick. As a result maximum window height is equal to:

maximum_showable_chars(line)_number
          *
     a_line_height
          +
     title_bar_height
          +
upper_and_lower_window_border
          +
other_stuff_I_may_not_know_about_:)
khalidchawtany commented 9 years ago

As for the window manager app. I use Phoenix which is awesomely configurable just like vim.

Update: None of the apps are able to produce a fake full screen or resize Neovim-dot-app's window to fill the entire screen vertically.

rogual commented 9 years ago

Yep, the window only resizes in character-cell increments, so it's not necessarily possible to make it exactly fill the screen. I would say this is OK, because you have the fullscreen function for that. I hear you about the annoying animation though.

If a third-party window manager can make OSX's full-screen feature more palatable then I think it makes more sense to leave that task to that window manager — the alternative would be for all apps to implement their own fullscreen code. I don't really want this project to take on the burden of implementing and maintaining window-manager functionality, and I also feel it's the wrong choice architecturally for apps to do this.

khalidchawtany commented 9 years ago

OK, I understand your concerns. How about having an option to provide a title-less window (if border-less too that would be awesome).

Although, with the new OS X I can remove the top menu bar and make it hide automatically , the title-bar is still there to yell at my eyes :)

Note: iTerm provides non-native full screen as well as the native one, both of which are exposed through a setting. Besides, these two properties, there is a PR to make a window border-less.

I don't think this one has to do with window-manager functionality and it would maximize the work-space.

euoia commented 9 years ago

@khalidchawtany thanks for creating this issue. I also dislike the OS provided full screen and prefer to use the alternative implementation in iTerm. The same thing in MacVim - I disable the native full-screen support and use :fullscreen to get the window maximized.

rogual commented 9 years ago

Alright, so, I don't like this kind of thing, but I know other people do, so if somebody implements this stuff and the code isn't a total mess I'll merge it. But I'm not implementing it :)

balaclark commented 8 years ago

The spectacle WM enables non-native full screen via alt+cmd+f and works with all apps. https://www.spectacleapp.com/

nicksergeant commented 8 years ago

@balaclark that's a great tip - thanks!

nicksergeant commented 8 years ago

@balaclark actually, after trying it, it's not true full screen, The top menu-bar is still present, unfortunately.