diff mbox series

[1/3] ui/sdl2: Grab Alt+Tab also in fullscreen mode

Message ID 20230412203425.32566-2-shentey@gmail.com
State New
Headers show
Series SDL2 usability fixes | expand

Commit Message

Bernhard Beschow April 12, 2023, 8:34 p.m. UTC
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+F4 in fullscreen mode, always causing tasks to be switched in
the VM.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
 ui/sdl2.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Bernhard Beschow April 12, 2023, 9:12 p.m. UTC | #1
Am 12. April 2023 20:34:23 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>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+F4 in fullscreen mode, always causing tasks to be switched in

Typo: s/Alt+F4/Alt+Tab/

>the VM.
>
>Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>---
> ui/sdl2.c | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/ui/sdl2.c b/ui/sdl2.c
>index b12dec4caf..91705e4bce 100644
>--- a/ui/sdl2.c
>+++ b/ui/sdl2.c
>@@ -856,6 +856,7 @@ 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");
>+    SDL_SetHint(SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED, "0");
>     memset(&info, 0, sizeof(info));
>     SDL_VERSION(&info.version);
>
diff mbox series

Patch

diff --git a/ui/sdl2.c b/ui/sdl2.c
index b12dec4caf..91705e4bce 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -856,6 +856,7 @@  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");
+    SDL_SetHint(SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED, "0");
     memset(&info, 0, sizeof(info));
     SDL_VERSION(&info.version);