From a2950f61c8b6bf1d4d0307103c3532307fb950a9 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Sun, 16 Feb 2025 09:06:37 +0100 Subject: [PATCH 1/2] [client,x11] only filter input on floatbar lock --- client/X11/xf_event.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/client/X11/xf_event.c b/client/X11/xf_event.c index fb112b987..5c6b08b06 100644 --- a/client/X11/xf_event.c +++ b/client/X11/xf_event.c @@ -1216,7 +1216,24 @@ BOOL xf_event_process(freerdp* instance, const XEvent* event) } if (xf_floatbar_is_locked(floatbar)) - return TRUE; + { + /* Filter input events, floatbar is locked do not forward anything to the session */ + switch (event->type) + { + case MotionNotify: + case ButtonPress: + case ButtonRelease: + case KeyPress: + case KeyRelease: + case FocusIn: + case FocusOut: + case EnterNotify: + case LeaveNotify: + return TRUE; + default: + break; + } + } } xf_event_execute_action_script(xfc, event); From d100bff706bd52317869ddfcfe63b592b4c5691b Mon Sep 17 00:00:00 2001 From: akallabeth Date: Sun, 16 Feb 2025 09:45:51 +0100 Subject: [PATCH 2/2] [client,x11] fix dynamic resize with fullscreen --- client/X11/xf_disp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/X11/xf_disp.c b/client/X11/xf_disp.c index 28223a543..cbeed28e5 100644 --- a/client/X11/xf_disp.c +++ b/client/X11/xf_disp.c @@ -147,7 +147,7 @@ static BOOL xf_disp_sendResize(xfDispContext* xfDisp) xfDisp->lastSentDate = GetTickCount64(); const UINT32 mcount = freerdp_settings_get_uint32(settings, FreeRDP_MonitorCount); - if (xfc->fullscreen && (mcount > 0)) + if (mcount > 1) { const rdpMonitor* monitors = freerdp_settings_get_pointer(settings, FreeRDP_MonitorDefArray); @@ -278,7 +278,7 @@ static void xf_disp_OnTimer(void* context, const TimerEventArgs* e) if (!xf_disp_check_context(context, &xfc, &xfDisp, &settings)) return; - if (!xfDisp->activated || xfc->fullscreen) + if (!xfDisp->activated) return; xf_disp_sendResize(xfDisp);