From b3c6422196826186d75a5e457cdf84f14b5adbad Mon Sep 17 00:00:00 2001 From: mcarans Date: Sun, 16 Aug 2026 08:42:52 +1200 Subject: [PATCH] Make Linux splash borderless --- src/SDL/MyOpenGLView.m | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/SDL/MyOpenGLView.m b/src/SDL/MyOpenGLView.m index 05dabee87..9e1324df7 100644 --- a/src/SDL/MyOpenGLView.m +++ b/src/SDL/MyOpenGLView.m @@ -189,7 +189,7 @@ - (void) createWindowWithSize: (NSSize) size } NSString *windowCaption = [self getWindowCaption]; - Uint32 windowFlags = SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_HIGH_PIXEL_DENSITY; + Uint32 windowFlags = SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS | SDL_WINDOW_HIGH_PIXEL_DENSITY; // Define modern SDL3 properties for window configuration SDL_PropertiesID props = SDL_CreateProperties(); @@ -499,16 +499,24 @@ - (void) endSplashScreen wasFullScreen = !fullScreen; updateContext = YES; -#endif // OOLITE_WINDOWS - +#endif + SDL_SetWindowResizable(window, true); + SDL_SetWindowBordered(window, true); if (!showSplashScreen) return; #if OOLITE_LINUX - SDL_HideWindow(window); - SDL_SetWindowSize(window, firstScreen.width, firstScreen.height); - SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); - SDL_SetWindowFullscreen(window, fullScreen); - SDL_ShowWindow(window); + if (fullScreen) + { + SDL_SetWindowFullscreen(window, true); + } + else + { + SDL_HideWindow(window); + SDL_SetWindowFullscreen(window, false); + SDL_SetWindowSize(window, firstScreen.width, firstScreen.height); + SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); + SDL_ShowWindow(window); + } /* MKW 2011.11.11 * Eat all SDL events to gobble up any resize events while the @@ -735,7 +743,9 @@ - (void) toggleScreenMode { [self initialiseGLWithSize: currentWindowSize]; #if OOLITE_LINUX - SDL_SetWindowMouseGrab(window, NO); + SDL_HideWindow(window); + SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); + SDL_ShowWindow(window); #endif } // do screen resizing updates