Snap specific browser with absolute path

This commit is contained in:
RetGal 2021-02-26 17:26:54 +01:00
parent a9363dbe5a
commit 27fb12fb45
2 changed files with 7 additions and 1 deletions

View File

@ -19,6 +19,7 @@ import mpo.dayon.common.log.Log;
import mpo.dayon.common.utils.SystemUtilities;
import mpo.dayon.common.version.Version;
import static mpo.dayon.common.utils.SystemUtilities.getSnapBrowserCommand;
import static mpo.dayon.common.utils.SystemUtilities.isSnapped;
public abstract class BaseFrame extends JFrame {
@ -262,7 +263,7 @@ public abstract class BaseFrame extends JFrame {
private static void browse(URI uri) {
try {
if (isSnapped()) {
new ProcessBuilder("dayon.browser", uri.toString()).start();
new ProcessBuilder(getSnapBrowserCommand(), uri.toString()).start();
} else if (Desktop.isDesktopSupported()) {
final Desktop desktop = Desktop.getDesktop();
if (desktop.isSupported(Desktop.Action.BROWSE)) {

View File

@ -206,6 +206,11 @@ public abstract class SystemUtilities {
return System.getProperty("java.class.path").startsWith("/snap/");
}
public static String getSnapBrowserCommand() {
String cp = System.getProperty("java.class.path");
return cp.substring(0, cp.indexOf("jar")) + "bin/dayon.browser";
}
public static boolean isValidPortNumber(String portNumber) {
try {
int port = Integer.parseInt(portNumber);