refactor - deprecated runtime exec

This commit is contained in:
rdavidek 2026-01-27 23:19:09 +01:00
parent 5c1ff8b441
commit 93b100e69a

View File

@ -88,7 +88,7 @@ public class MainApp {
private static boolean isWindowsDarkMode() {
try {
Process process = Runtime.getRuntime().exec("reg query \"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize\" /v AppsUseLightTheme");
Process process = new ProcessBuilder("reg", "query", "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", "/v", "AppsUseLightTheme").start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
@ -105,14 +105,14 @@ public class MainApp {
private static boolean isLinuxDarkMode() {
try {
// Check for GNOME/Cinnamon/MATE dark mode preference via gsettings
Process process = Runtime.getRuntime().exec(new String[]{"gsettings", "get", "org.gnome.desktop.interface", "color-scheme"});
Process process = new ProcessBuilder("gsettings", "get", "org.gnome.desktop.interface", "color-scheme").start();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line = reader.readLine();
if (line != null && line.contains("dark")) return true;
}
// Fallback: Check GTK theme name
process = Runtime.getRuntime().exec(new String[]{"gsettings", "get", "org.gnome.desktop.interface", "gtk-theme"});
process = new ProcessBuilder("gsettings", "get", "org.gnome.desktop.interface", "gtk-theme").start();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line = reader.readLine();
if (line != null && line.toLowerCase().contains("dark")) return true;
@ -125,7 +125,7 @@ public class MainApp {
private static boolean isMacDarkMode() {
try {
Process process = Runtime.getRuntime().exec(new String[]{"defaults", "read", "-g", "AppleInterfaceStyle"});
Process process = new ProcessBuilder("defaults", "read", "-g", "AppleInterfaceStyle").start();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line = reader.readLine();
return line != null && line.contains("Dark");