-
-
Notifications
You must be signed in to change notification settings - Fork 958
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
Using macos_traditional_fullscreen yes fails to hide #4472
Comments
doesnt replicate for me with latest kitty on latest macOS. steps I tried
|
I recently tried on a macOS 10.15 device and I can reproduce the issue. When cmd+h is pressed, the full-screen window goes behind the other windows and before the desktop background. |
@kovidgoyal have you tried reproducing on Mac OS 10.15? I retried the steps you've outlined and am able to reproduce. I know 10.15 is a bit dated, but some of us are bound to what our IT deps force on us 😞 |
I'm afraid I dont have a 10.15 installation and given the implementation |
@kovidgoyal hide works for all other apps. |
None of the other apps use "traditional full screen" no. |
Seems the problem can be reproduced with modern full screen. It's your project, so obviously your call. But it's possible a closer look might reveal a bug worth fixing. |
Like I said I dont have Catalina, and this issue is not replicable on |
I don't have the tool chain or familiarity with the subject matter to offer a PR, else I would. |
Are there any possible issues with using the new (>= 11.0) traditional full screen mode in macOS 10.15? Does the reference to It looks like Apple doesn't want I tested it in macOS 10.15 using the new mode (full screen size window without title bar) which seems to work and also hides the window. Here are the compilation errors I recorded when I ran
I don't currently have a macOS 10.15 device at hand, so I can't test and submit a PR. I can only provide the basic information that I know. |
On Mon, Jan 10, 2022 at 09:47:33PM -0800, page-down wrote:
Are there any possible issues with using the new (>= 11.0) traditional full screen mode in macOS 10.15?
The good lord alone knows. Someone with Catalina has to test.
Does the reference to `Partial fix` in this git commit mean that there are minor unresolved issues?
bdcac9a
There aren't any left that I know of as of 0.24.0
It looks like Apple doesn't want `NSWindowStyleMaskFullScreen` to be used with Hide Window.
I tested it in macOS 10.15 using the new mode (full screen size window without title bar) which seems to work and also hides the window.
Maybe apple backported it in one of the 10.15 minor releases.
|
If someone can try to test it, I think the following changes can be made. glfw/cocoa_window.m // _glfwPlatformIsFullscreen()
// _glfwPlatformToggleFullscreen()
if (traditional) { if (@available(macOS 11.0, *))
That's about as much as I can do. |
@page-down I can test, but not sure what change needs to be made. I see the following functions:
What would I need to change in them? |
diff --git a/glfw/cocoa_window.m b/glfw/cocoa_window.m
index 2fff85c8..b2d76af2 100644
--- a/glfw/cocoa_window.m
+++ b/glfw/cocoa_window.m
@@ -2302,7 +2302,7 @@ void _glfwPlatformSetCursor(_GLFWwindow* window, _GLFWcursor* cursor UNUSED)
bool _glfwPlatformIsFullscreen(_GLFWwindow* w, unsigned int flags) {
NSWindow *window = w->ns.object;
bool traditional = !(flags & 1);
- if (traditional) { if(@available(macOS 11.0, *)) return w->ns.in_traditional_fullscreen; }
+ if (traditional) { if(@available(macOS 10.15, *)) return w->ns.in_traditional_fullscreen; }
NSWindowStyleMask sm = [window styleMask];
return sm & NSWindowStyleMaskFullScreen;
}
@@ -2313,8 +2313,9 @@ bool _glfwPlatformToggleFullscreen(_GLFWwindow* w, unsigned int flags) {
bool traditional = !(flags & 1);
NSWindowStyleMask sm = [window styleMask];
if (traditional) {
- if (@available(macOS 11.0, *)) {
+ if (@available(macOS 10.15, *)) {
// As of Big Turd NSWindowStyleMaskFullScreen is no longer useable
+ // Also no longer compatible after a minor release of macOS 10.15
if (!w->ns.in_traditional_fullscreen) {
w->ns.pre_full_screen_style_mask = sm;
[window setStyleMask: NSWindowStyleMaskBorderless]; Try the above patch to see if it works. |
@page-down Can confirm, this works! Only issue now is... hide does not work at all when Even the menu button is disabled. |
Also, not sure it's helpful, but I have the Catalina install app. I can provide a dropbox link to share it with you if you guys want? |
It works as expected. The modern macOS full-screen mode takes up the entire Space. The window cannot be hidden. The same is true when you go full screen with any other app. |
Ah, you're right. Hadn't noticed that before. Any chance this change can be added to a future release? I've pushed up a PR: #4496 |
Describe the bug
Using MacOS version
10.15.7 (19H1615)
(Oddly, it works fine on MacOS version12.1 (21C52)
)Make sure no other windows are open except for kitty.
Add the following to kitty config:
macos_traditional_fullscreen yes
Enter full screen mode.
Try hiding kitty by either using the menu or hitting ⌘H
Expected result is that kitty will be hidden.
Actual result... it appears to go into the background behind other windows (if other windows are open), but it does not get hidden.
Environment details
The text was updated successfully, but these errors were encountered: