SmartSizingWidth and SmartSizingHeight in RDP file:
authorPål Håland <palhaland@gmail.com>
Thu, 28 Nov 2019 17:59:15 +0000 (18:59 +0100)
committerArmin Novak <armin.novak@thincast.com>
Fri, 29 Nov 2019 10:14:55 +0000 (11:14 +0100)
Adding this option to use the DesktopHeight and DesktopWidth as
parameters for the SmartSizingWidth and SmartSizingHeight, as there
are no options for that in standard RDP files.

Equivalent of doing /smart-sizing:WxH

client/common/file.c

index 09cd175..3b7148f 100644 (file)
@@ -1340,6 +1340,25 @@ BOOL freerdp_client_populate_settings_from_rdp_file(rdpFile* file, rdpSettings*
                if (!freerdp_settings_set_bool(settings, FreeRDP_SmartSizing,
                                               (file->SmartSizing == 1) ? TRUE : FALSE))
                        return FALSE;
+               /**
+                *  SmartSizingWidth and SmartSizingHeight:
+                *
+                *  Adding this option to use the DesktopHeight and DesktopWidth as
+                *  parameters for the SmartSizingWidth and SmartSizingHeight, as there
+                *  are no options for that in standard RDP files.
+                *
+                *  Equivalent of doing /smart-sizing:WxH
+                */
+               if (((~(file->DesktopWidth) && ~(file->DesktopHeight)) || ~(file->DesktopSizeId)) &&
+                   (file->SmartSizing == 1))
+               {
+                       if (!freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingWidth,
+                                                        file->DesktopWidth))
+                               return FALSE;
+                       if (!freerdp_settings_set_uint32(settings, FreeRDP_SmartSizingHeight,
+                                                        file->DesktopHeight))
+                               return FALSE;
+               }
        }
 
        if (~((size_t)file->LoadBalanceInfo))