]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
ui/sdl2: Grab Alt+Tab also in fullscreen mode
authorBernhard Beschow <shentey@gmail.com>
Mon, 17 Apr 2023 19:21:38 +0000 (21:21 +0200)
committerMichael Tokarev <mjt@tls.msk.ru>
Wed, 31 May 2023 06:42:37 +0000 (09:42 +0300)
By default, SDL grabs Alt+Tab only in non-fullscreen mode. This causes Alt+Tab
to switch tasks on the host rather than in the VM in fullscreen mode while it
switches tasks in non-fullscreen mode in the VM. Fix this confusing behavior
by grabbing Alt+Tab in fullscreen mode, always causing tasks to be switched in
the VM.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Volker RĂ¼melin <vr_qemu@t-online.de>
Message-Id: <20230417192139.43263-2-shentey@gmail.com>
(cherry picked from commit efc00a37090eced53bff8b42d26991252aaacc44)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
ui/sdl2.c

index b12dec4cafc7c8d21e51bffe0cd7c26b60eb5a9e..8af8b89f1d07788039e0d97694d3bc9715ef606c 100644 (file)
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -856,6 +856,9 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o)
     SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "0");
 #endif
     SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1");
+#ifdef SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED
+    SDL_SetHint(SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED, "0");
+#endif
     memset(&info, 0, sizeof(info));
     SDL_VERSION(&info.version);