Compare commits

..

2 Commits

Author SHA1 Message Date
e9c939f033 chore: delete binaries 2026-05-26 13:16:19 +05:30
94184c73d0 feat: add a 250ms delay between game window and splash close 2026-05-26 13:15:22 +05:30

View File

@@ -275,6 +275,8 @@ int main(int argc, char *argv[])
// Inside Parent Process: Manage splash screen lifecycle
int running = 1;
SDL_Event event;
bool hide_scheduled = false;
Uint32 hide_time = 0;
while (running)
{
@@ -337,10 +339,11 @@ int main(int argc, char *argv[])
if (event.type == SDL_WINDOWEVENT)
{
// THE MOMENT THE GAME WINDOW STEALS FOCUS:
if (event.window.event == SDL_WINDOWEVENT_FOCUS_LOST)
if (event.window.event == SDL_WINDOWEVENT_FOCUS_LOST && !hide_scheduled)
{
log_info("Splash window hidden (focus lost)");
SDL_HideWindow(window); // Instantly make splash transparent/invisible
log_info("Splash window hidden (focus lost), scheduling hide");
hide_scheduled = true;
hide_time = SDL_GetTicks() + 250; // 250ms delay to prevent desktop flash
}
// Re-render static image when compositor requests a redraw
if (event.window.event == SDL_WINDOWEVENT_EXPOSED && texture && !video_active)
@@ -369,6 +372,13 @@ int main(int argc, char *argv[])
}
}
if (hide_scheduled && SDL_GetTicks() >= hide_time)
{
log_info("Hiding splash window (delayed)");
SDL_HideWindow(window);
hide_scheduled = false;
}
if (video_active)
{
Uint32 now = SDL_GetTicks();