diff --git a/app/src/main/java/io/xpipe/app/rdp/RemoteDesktopAppRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/RemoteDesktopAppRdpClient.java index 63f41fd43..9f6cd2f57 100644 --- a/app/src/main/java/io/xpipe/app/rdp/RemoteDesktopAppRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/RemoteDesktopAppRdpClient.java @@ -1,14 +1,18 @@ package io.xpipe.app.rdp; +import io.xpipe.app.core.AppDisplayScale; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.process.CommandBuilder; import io.xpipe.app.process.LocalShell; import com.fasterxml.jackson.annotation.JsonTypeName; +import io.xpipe.app.util.RdpConfig; import lombok.Builder; import lombok.Value; import lombok.extern.jackson.Jacksonized; +import java.util.Map; + @JsonTypeName("microsoftRemoteDesktopApp") @Value @Jacksonized @@ -17,7 +21,11 @@ public class RemoteDesktopAppRdpClient implements ExternalApplicationType.MacApp @Override public void launch(RdpLaunchConfig configuration) throws Exception { - var file = writeRdpConfigFile(configuration.getTitle(), configuration.getConfig()); + var adjusted = AppDisplayScale.getEffectiveDisplayScale() >= 2.0 ? + configuration.getConfig().overlay(Map.of("ForceHiDpiOptimizations", new RdpConfig.TypedValue("i", "1"))) : + configuration.getConfig(); + var file = writeRdpConfigFile(configuration.getTitle(), adjusted); + LocalShell.getShell() .executeSimpleCommand(CommandBuilder.of() .add("open", "-a") diff --git a/app/src/main/java/io/xpipe/app/rdp/WindowsAppRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/WindowsAppRdpClient.java index 8e3aa36f5..645145c24 100644 --- a/app/src/main/java/io/xpipe/app/rdp/WindowsAppRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/WindowsAppRdpClient.java @@ -1,14 +1,18 @@ package io.xpipe.app.rdp; +import io.xpipe.app.core.AppDisplayScale; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.process.CommandBuilder; import io.xpipe.app.process.LocalShell; import com.fasterxml.jackson.annotation.JsonTypeName; +import io.xpipe.app.util.RdpConfig; import lombok.Builder; import lombok.Value; import lombok.extern.jackson.Jacksonized; +import java.util.Map; + @JsonTypeName("windowsApp") @Value @Jacksonized @@ -17,7 +21,10 @@ public class WindowsAppRdpClient implements ExternalApplicationType.MacApplicati @Override public void launch(RdpLaunchConfig configuration) throws Exception { - var file = writeRdpConfigFile(configuration.getTitle(), configuration.getConfig()); + var adjusted = AppDisplayScale.getEffectiveDisplayScale() >= 2.0 ? + configuration.getConfig().overlay(Map.of("ForceHiDpiOptimizations", new RdpConfig.TypedValue("i", "1"))) : + configuration.getConfig(); + var file = writeRdpConfigFile(configuration.getTitle(), adjusted); LocalShell.getShell() .executeSimpleCommand(CommandBuilder.of() .add("open", "-a")