diff options
Diffstat (limited to 'platform/linuxbsd')
-rw-r--r-- | platform/linuxbsd/detect.py | 4 | ||||
-rw-r--r-- | platform/linuxbsd/export/export_plugin.cpp | 4 | ||||
-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.cpp | 35 | ||||
-rw-r--r-- | platform/linuxbsd/x11/display_server_x11.cpp | 13 | ||||
-rw-r--r-- | platform/linuxbsd/x11/display_server_x11.h | 1 |
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; |