Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fast Full Screen Mode. #911

Closed
jordwalke opened this issue Sep 7, 2018 · 9 comments
Closed

Fast Full Screen Mode. #911

jordwalke opened this issue Sep 7, 2018 · 9 comments

Comments

@jordwalke
Copy link

jordwalke commented Sep 7, 2018

Kitty is all about the speed, but one thing that slows me down is entering Full Screen mode in OSX. It performs a (slow) OSX animation that gets in the way (and then ties you to a weird OSX desktop mode where switching to other apps is also slowed down via a pointless animation). Could Kitty have a "Fast Full Screen" mode that operates like MacVim or iTerm's full screen? It more or less instantly transitions to full screen and operates like a "normal app" in full screen mode.

@kovidgoyal
Copy link
Owner

I'm afraid I have no idea how to implement such a mode (those pointless animations come from the OS). But patches are welcome.

@erf
Copy link

erf commented Sep 7, 2018

@jordwalke see this answer: https://apple.stackexchange.com/questions/128717/how-to-disable-full-screen-animation-on-os-x-10-9
It shows how to 'reduce motion' in the settings.

@lhc70000
Copy link

lhc70000 commented Sep 7, 2018

I think jordwalke is talking about a "legacy full screen" mode. Basically it can be done by creating a boderless full screen window:

  • adding NSWindowStyleMaskBorderless and NSWindowStyleMaskFullScreen the window style mask
  • adding NSApplicationPresentationAutoHideMenuBar and NSApplicationPresentationAutoHideDock to window presentation options
  • setting the window frame to the same as the screen's.

@kovidgoyal
Copy link
Owner

If that's the case it can probably be implemented in kitty. I leave the implementation to someone with more cocoa knowledge than me. The outline for how to implement it is:

in kitty/glfw.c change toggle_fullscreen() to not use the GLFW full screen method

instead implement a cocoa specific toggle_fullscreen in kitty/cocoa_window.m and call that from glfw.c

@jordwalke
Copy link
Author

Do you like to keep issues like this open or closed? (Do you think that keeping issues open is a good way to signal to potential contributors that fixes are welcome?)

@kovidgoyal
Copy link
Owner

My policy is to keep reports that dont have a clear path to implementation or that I dont think are particularly good ideas closed. In this case I am somewhat skeptical of the concept of using a deprecated technique for full screening windows. It's quite possible it will stop working in the future (apple seems to love breaking things with every new macOS release).

I am willing to merge a patch for it, but I dont particularly want to encourage anyone to do it.

@choco
Copy link

choco commented Sep 12, 2018

Would it be possible to make this an option? I highly prefer the native fullscreen instead of legacy way...
iTerm has this as an option with native as default if I remember correctly.

@kovidgoyal
Copy link
Owner

It's certainly possible, but I am reluctant to do so because of #898 I really dont like having crashing bugs in my software, and because I dont have an external monitor and the problem is not in kitty code, it is hard fo rme to find any other way to fix it.

kovidgoyal added a commit that referenced this issue Sep 12, 2018
…-screening of kitty windows much faster, but less pretty.

See #911
@kovidgoyal
Copy link
Owner

Well, I think I figured out how to solve the crashing issue, at least I hope so. So I have modified this patch to make it an option, defaulting to off

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants