summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/x11/display_server_x11.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-09-18 11:15:30 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-18 11:15:30 +0200
commit1d3e9b36888572824021da972143b65b74541ab4 (patch)
tree14e1ee9aee00a0591302fa8e9f1524088d1914c9 /platform/linuxbsd/x11/display_server_x11.cpp
parent2c8ab6e7eb11a6d2935e7f9673679194f74b7f07 (diff)
parentb1871cdabf9ab8cbf4147ca67336f2d99028ac37 (diff)
downloadredot-engine-1d3e9b36888572824021da972143b65b74541ab4.tar.gz
Merge pull request #96829 from dsnopek/x11-focus-bugs-take-twenty-seven-million-and-four
Fix project manager stealing focus on i3
Diffstat (limited to 'platform/linuxbsd/x11/display_server_x11.cpp')
-rw-r--r--platform/linuxbsd/x11/display_server_x11.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp
index 499df55bef..a12c935273 100644
--- a/platform/linuxbsd/x11/display_server_x11.cpp
+++ b/platform/linuxbsd/x11/display_server_x11.cpp
@@ -2998,7 +2998,11 @@ bool DisplayServerX11::window_is_focused(WindowID p_window) const {
const WindowData &wd = windows[p_window];
- return wd.focused;
+ Window focused_window;
+ int focus_ret_state;
+ XGetInputFocus(x11_display, &focused_window, &focus_ret_state);
+
+ return wd.x11_window == focused_window;
}
bool DisplayServerX11::window_can_draw(WindowID p_window) const {