From 29f36cef5ef7e9214e3bf47bc6cbd1d1fc596124 Mon Sep 17 00:00:00 2001 From: crschnick Date: Tue, 29 Apr 2025 17:07:24 +0000 Subject: [PATCH] Use wayland for electron linux applications --- app/src/main/java/io/xpipe/app/util/LocalShell.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/util/LocalShell.java b/app/src/main/java/io/xpipe/app/util/LocalShell.java index 28ac34e15..fa84337e8 100644 --- a/app/src/main/java/io/xpipe/app/util/LocalShell.java +++ b/app/src/main/java/io/xpipe/app/util/LocalShell.java @@ -2,10 +2,7 @@ package io.xpipe.app.util; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEvent; -import io.xpipe.core.process.ProcessOutputException; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.process.ShellDialects; +import io.xpipe.core.process.*; import lombok.Getter; import lombok.SneakyThrows; @@ -20,6 +17,13 @@ public class LocalShell { public static void init() throws Exception { local = ProcessControlProvider.get().createLocalProcessControl(false).start(); + + // Ensure that electron applications on Linux use wayland features if possible + // https://github.com/microsoft/vscode/issues/207033#issuecomment-2167500295 + if (OsType.getLocal() == OsType.LINUX) { + local.writeLine(local.getShellDialect().getSetEnvironmentVariableCommand("ELECTRON_OZONE_PLATFORM_HINT", "auto")); + } + localCache = new LocalShellCache(local); }