diff --git a/client/SDL/sdl_disp.cpp b/client/SDL/sdl_disp.cpp index e3e96b214..ec110995d 100644 --- a/client/SDL/sdl_disp.cpp +++ b/client/SDL/sdl_disp.cpp @@ -330,11 +330,19 @@ BOOL sdlDispContext::handle_window_event(const SDL_WindowEvent* ev) { WINPR_ASSERT(ev); + auto bordered = freerdp_settings_get_bool(_sdl->context()->settings, FreeRDP_Decorations) + ? SDL_TRUE + : SDL_FALSE; + auto window = SDL_GetWindowFromID(ev->windowID); + if (window) + SDL_SetWindowBordered(window, bordered); + switch (ev->event) { case SDL_WINDOWEVENT_HIDDEN: case SDL_WINDOWEVENT_MINIMIZED: gdi_send_suppress_output(_sdl->context()->gdi, TRUE); + return TRUE; case SDL_WINDOWEVENT_EXPOSED: diff --git a/client/SDL/sdl_freerdp.cpp b/client/SDL/sdl_freerdp.cpp index d8be35974..a58f5b6d3 100644 --- a/client/SDL/sdl_freerdp.cpp +++ b/client/SDL/sdl_freerdp.cpp @@ -727,6 +727,9 @@ static BOOL sdl_create_windows(SdlContext* sdl) window.offset_y = 0; } + if (!freerdp_settings_get_bool(settings, FreeRDP_Decorations)) + flags |= SDL_WINDOW_BORDERLESS; + window.window = SDL_CreateWindow(title, startupX, startupY, static_cast(w), static_cast(h), flags); if (!window.window)