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() { private static boolean isWindowsDarkMode() {
try { 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())); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line; String line;
while ((line = reader.readLine()) != null) { while ((line = reader.readLine()) != null) {
@ -105,14 +105,14 @@ public class MainApp {
private static boolean isLinuxDarkMode() { private static boolean isLinuxDarkMode() {
try { try {
// Check for GNOME/Cinnamon/MATE dark mode preference via gsettings // 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()))) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line = reader.readLine(); String line = reader.readLine();
if (line != null && line.contains("dark")) return true; if (line != null && line.contains("dark")) return true;
} }
// Fallback: Check GTK theme name // 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()))) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line = reader.readLine(); String line = reader.readLine();
if (line != null && line.toLowerCase().contains("dark")) return true; if (line != null && line.toLowerCase().contains("dark")) return true;
@ -125,7 +125,7 @@ public class MainApp {
private static boolean isMacDarkMode() { private static boolean isMacDarkMode() {
try { 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()))) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line = reader.readLine(); String line = reader.readLine();
return line != null && line.contains("Dark"); return line != null && line.contains("Dark");