From b12dface5dabb22a5d222040d0165d37dd2d4c5f Mon Sep 17 00:00:00 2001 From: root Date: Thu, 18 Sep 2025 11:20:11 +0200 Subject: [PATCH] URGENT FIX: Restore fullscreen with simple /f + /monitors approach User needs working solution immediately. Simple approach: - Use /f for fullscreen (always) - Add /monitors:1,2 for specific monitor targeting - Stop overthinking parameter conflicts Command for 2 monitors: xfreerdp /f /monitors:1,2 Command for all monitors: xfreerdp /f /multimon This should work - /f ensures fullscreen, /monitors specifies which ones. --- rdp_client.py | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/rdp_client.py b/rdp_client.py index a50f178..f01384f 100755 --- a/rdp_client.py +++ b/rdp_client.py @@ -891,7 +891,7 @@ Multi-Monitor Support: multimon = conn.get("multimon", "No") use_specific_monitors = multimon in ["2 Monitors", "3 Monitors", "4 Monitors"] - # Get monitor list once if needed + # Get monitor list if needed monitor_list = None if use_specific_monitors: if multimon == "2 Monitors": @@ -901,15 +901,11 @@ Multi-Monitor Support: elif multimon == "4 Monitors": monitor_list = self._get_best_monitor_selection(4) - # Resolution - calculate proper size for specific monitor selection + # Resolution - for specific monitors, use /f with /monitors resolution = conn.get("resolution", "1920x1080") - if resolution == "Full Screen" and not use_specific_monitors: + if resolution == "Full Screen": cmd.append("/f") - elif resolution == "Full Screen" and use_specific_monitors: - # Calculate combined resolution for selected monitors - combined_res = self._get_monitors_combined_resolution(monitor_list) - cmd.append(f"/size:{combined_res}") - self.logger.info(f"Using calculated resolution {combined_res} for {multimon}: {monitor_list}") + self.logger.info("Using fullscreen mode") else: cmd.append(f"/size:{resolution}") @@ -917,15 +913,10 @@ Multi-Monitor Support: color_depth = conn.get("color_depth", 32) cmd.append(f"/bpp:{color_depth}") - # Multiple monitors - try different approaches for better compatibility + # Multiple monitors - use /f + /monitors for fullscreen across specific monitors if use_specific_monitors: - # Method 1: Try /monitors: without /size for better compatibility cmd.append(f"/monitors:{monitor_list}") - self.logger.info(f"Using specific monitors for {multimon}: {monitor_list} (Method 1: /monitors: only)") - - # Remove the /size: parameter we added earlier - let /monitors: handle sizing - cmd = [x for x in cmd if not x.startswith('/size:')] - self.logger.info("Removed /size: parameter to avoid conflict with /monitors:") + self.logger.info(f"Using fullscreen across specific monitors for {multimon}: {monitor_list}") elif multimon == "All Monitors": cmd.append("/multimon")