Enable hdpi for macos rdp

This commit is contained in:
crschnick
2026-04-18 13:08:40 +00:00
parent 3dc111ece2
commit 9b13fcdf14
2 changed files with 17 additions and 2 deletions
@@ -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")
@@ -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")