From 77d8aaf97b0eacc6d38e6dab0a7dcde02e4688b4 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Mon, 3 Jul 2017 19:03:18 +0200 Subject: [PATCH 1/2] Implement fullscreen for wayland shell surface --- uwac/libuwac/uwac-window.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/uwac/libuwac/uwac-window.c b/uwac/libuwac/uwac-window.c index 7574dc38c..f212f07e9 100644 --- a/uwac/libuwac/uwac-window.c +++ b/uwac/libuwac/uwac-window.c @@ -682,6 +682,19 @@ UwacReturnCode UwacWindowSetFullscreenState(UwacWindow* window, UwacOutput* outp xdg_surface_unset_fullscreen(window->xdg_surface); } } + else if (window->shell_surface) + { + if (isFullscreen) { + wl_shell_surface_set_fullscreen(window->shell_surface, + WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT, + 0, + output ? output->output : NULL); + } + else + { + wl_shell_surface_set_toplevel(window->shell_surface); + } + } return UWAC_SUCCESS; } From a57197a73992e9b23634edcf806b331670d57c40 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Mon, 3 Jul 2017 19:09:01 +0200 Subject: [PATCH 2/2] Support fullscreen setting in wayland client --- client/Wayland/wlfreerdp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/Wayland/wlfreerdp.c b/client/Wayland/wlfreerdp.c index 2d5a93b98..f6a56bfed 100644 --- a/client/Wayland/wlfreerdp.c +++ b/client/Wayland/wlfreerdp.c @@ -173,6 +173,7 @@ static BOOL wl_post_connect(freerdp* instance) if (!window) return FALSE; + UwacWindowSetFullscreenState(window, NULL, instance->context->settings->Fullscreen); UwacWindowSetTitle(window, "FreeRDP"); instance->update->BeginPaint = wl_begin_paint; instance->update->EndPaint = wl_end_paint; @@ -180,6 +181,9 @@ static BOOL wl_post_connect(freerdp* instance) gdi->width * gdi->height * 4); UwacWindowAddDamage(context->window, 0, 0, gdi->width, gdi->height); context->haveDamage = TRUE; + + freerdp_keyboard_init(instance->context->settings->KeyboardLayout); + return wl_update_content(context); }