summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linuxbsd')
-rw-r--r--platform/linuxbsd/detect.py4
-rw-r--r--platform/linuxbsd/export/export_plugin.cpp4
-rw-r--r--platform/linuxbsd/export/logo.svg (renamed from platform/linuxbsd/logo.svg)0
-rw-r--r--platform/linuxbsd/export/run_icon.svg (renamed from platform/linuxbsd/run_icon.svg)0
-rw-r--r--platform/linuxbsd/os_linuxbsd.cpp35
-rw-r--r--platform/linuxbsd/x11/display_server_x11.cpp13
-rw-r--r--platform/linuxbsd/x11/display_server_x11.h1
7 files changed, 36 insertions, 21 deletions
diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
index dadc03685b..9faa73d6d2 100644
--- a/platform/linuxbsd/detect.py
+++ b/platform/linuxbsd/detect.py
@@ -10,10 +10,6 @@ if TYPE_CHECKING:
from SCons import Environment
-def is_active():
- return True
-
-
def get_name():
return "LinuxBSD"
diff --git a/platform/linuxbsd/export/export_plugin.cpp b/platform/linuxbsd/export/export_plugin.cpp
index 082040c8d6..f74bdf3516 100644
--- a/platform/linuxbsd/export/export_plugin.cpp
+++ b/platform/linuxbsd/export/export_plugin.cpp
@@ -30,8 +30,8 @@
#include "export_plugin.h"
-#include "../logo_svg.gen.h"
-#include "../run_icon_svg.gen.h"
+#include "logo_svg.gen.h"
+#include "run_icon_svg.gen.h"
#include "core/config/project_settings.h"
#include "editor/editor_node.h"
diff --git a/platform/linuxbsd/logo.svg b/platform/linuxbsd/export/logo.svg
index e5f9f03e0c..e5f9f03e0c 100644
--- a/platform/linuxbsd/logo.svg
+++ b/platform/linuxbsd/export/logo.svg
diff --git a/platform/linuxbsd/run_icon.svg b/platform/linuxbsd/export/run_icon.svg
index 56465a0df3..56465a0df3 100644
--- a/platform/linuxbsd/run_icon.svg
+++ b/platform/linuxbsd/export/run_icon.svg
diff --git a/platform/linuxbsd/os_linuxbsd.cpp b/platform/linuxbsd/os_linuxbsd.cpp
index 35807875a5..310778388b 100644
--- a/platform/linuxbsd/os_linuxbsd.cpp
+++ b/platform/linuxbsd/os_linuxbsd.cpp
@@ -961,32 +961,41 @@ Error OS_LinuxBSD::move_to_trash(const String &p_path) {
args.push_back(path);
args.push_front("trash"); // The command is `gio trash <file_name>` so we need to add it to args.
Error result = execute("gio", args, nullptr, &err_code); // For GNOME based machines.
- if (result == OK && !err_code) {
- return OK;
- } else if (err_code == 2) {
- return ERR_FILE_NOT_FOUND;
+ if (result == OK) { // The `execute` function has done its job without errors.
+ if (!err_code) { // The shell command has been executed without errors.
+ return OK;
+ } else if (err_code == 1) {
+ ERR_PRINT("move_to_trash: No such file or directory as " + path + ".");
+ return ERR_FILE_NOT_FOUND;
+ }
}
args.pop_front();
args.push_front("move");
args.push_back("trash:/"); // The command is `kioclient5 move <file_name> trash:/`.
result = execute("kioclient5", args, nullptr, &err_code); // For KDE based machines.
- if (result == OK && !err_code) {
- return OK;
- } else if (err_code == 2) {
- return ERR_FILE_NOT_FOUND;
+ if (result == OK) { // The `execute` function has done its job without errors.
+ if (!err_code) { // The shell command has been executed without errors.
+ return OK;
+ } else if (err_code == 1) {
+ ERR_PRINT("move_to_trash: No such file or directory as " + path + ".");
+ return ERR_FILE_NOT_FOUND;
+ }
}
args.pop_front();
args.pop_back();
result = execute("gvfs-trash", args, nullptr, &err_code); // For older Linux machines.
- if (result == OK && !err_code) {
- return OK;
- } else if (err_code == 2) {
- return ERR_FILE_NOT_FOUND;
+ if (result == OK) { // The `execute` function has done its job without errors.
+ if (!err_code) { // The shell command has been executed without errors.
+ return OK;
+ } else if (err_code == 1) {
+ ERR_PRINT("move_to_trash: No such file or directory as " + path + ".");
+ return ERR_FILE_NOT_FOUND;
+ }
}
- // If the commands `kioclient5`, `gio` or `gvfs-trash` don't exist on the system we do it manually.
+ // If the commands `kioclient5`, `gio` or `gvfs-trash` don't work on the system we do it manually.
String trash_path = "";
String mnt = get_mountpoint(path);
diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp
index 83b6fb7628..8724bc871a 100644
--- a/platform/linuxbsd/x11/display_server_x11.cpp
+++ b/platform/linuxbsd/x11/display_server_x11.cpp
@@ -2626,6 +2626,15 @@ void DisplayServerX11::window_move_to_foreground(WindowID p_window) {
XFlush(x11_display);
}
+bool DisplayServerX11::window_is_focused(WindowID p_window) const {
+ _THREAD_SAFE_METHOD_
+
+ ERR_FAIL_COND_V(!windows.has(p_window), false);
+ const WindowData &wd = windows[p_window];
+
+ return wd.focused;
+}
+
bool DisplayServerX11::window_can_draw(WindowID p_window) const {
//this seems to be all that is provided by X11
return window_get_mode(p_window) != WINDOW_MODE_MINIMIZED;
@@ -2847,11 +2856,11 @@ void DisplayServerX11::cursor_set_custom_image(const Ref<Resource> &p_cursor, Cu
cursors[p_shape] = XcursorImageLoadCursor(x11_display, cursor_img[p_shape]);
}
+ cursors_cache.erase(p_shape);
+
CursorShape c = current_cursor;
current_cursor = CURSOR_MAX;
cursor_set_shape(c);
-
- cursors_cache.erase(p_shape);
}
}
diff --git a/platform/linuxbsd/x11/display_server_x11.h b/platform/linuxbsd/x11/display_server_x11.h
index 176a1ffb9a..180362923b 100644
--- a/platform/linuxbsd/x11/display_server_x11.h
+++ b/platform/linuxbsd/x11/display_server_x11.h
@@ -477,6 +477,7 @@ public:
virtual void window_request_attention(WindowID p_window = MAIN_WINDOW_ID) override;
virtual void window_move_to_foreground(WindowID p_window = MAIN_WINDOW_ID) override;
+ virtual bool window_is_focused(WindowID p_window = MAIN_WINDOW_ID) const override;
virtual bool window_can_draw(WindowID p_window = MAIN_WINDOW_ID) const override;