From b982794b23f2a06aae9e57c01d6eee4e8cfe4bbe Mon Sep 17 00:00:00 2001 From: DSOE1024 Date: Sun, 30 Nov 2025 07:37:14 +0800 Subject: [PATCH] Implement XFCE support in os_linuxbsd.cpp Added support for XFCE by executing 'exo-open' alongside 'kde-open'. Refactor error handling in os_linuxbsd.cpp --- platform/linuxbsd/os_linuxbsd.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/platform/linuxbsd/os_linuxbsd.cpp b/platform/linuxbsd/os_linuxbsd.cpp index eb2e71c28cd..b3c46e02c5b 100644 --- a/platform/linuxbsd/os_linuxbsd.cpp +++ b/platform/linuxbsd/os_linuxbsd.cpp @@ -565,7 +565,15 @@ Error OS_LinuxBSD::shell_open(const String &p_uri) { return OK; } ok = execute("kde-open", args, nullptr, &err_code); - return !err_code ? ok : FAILED; + if (ok == OK && !err_code) { + return OK; + } + // XFCE + ok = execute("exo-open", args, nullptr, &err_code); + if (ok == OK && !err_code) { + return OK; + } + return FAILED; } bool OS_LinuxBSD::_check_internal_feature_support(const String &p_feature) {