Kitty: Fast Full Screen Mode.

Created on 7 Sep 2018  路  9Comments  路  Source: kovidgoyal/kitty

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.

Most helpful comment

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

All 9 comments

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

@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.

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.

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

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?)

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.

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.

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.

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Ulrar picture Ulrar  路  3Comments

lazarcf picture lazarcf  路  4Comments

atomsymbol picture atomsymbol  路  3Comments

jasminabasurita picture jasminabasurita  路  3Comments

reed-jones picture reed-jones  路  4Comments