Wayland: only prevent game minimizing if the input focused window is x11. Change screenshot program to a command instead, allows spectacle -E to work

This commit is contained in:
dec05eba
2025-12-22 15:55:13 +01:00
parent 245dcf5730
commit c039b79174
6 changed files with 27 additions and 11 deletions

View File

@@ -121,7 +121,7 @@ namespace gsr {
return root_pos;
}
Window get_focused_window(Display *dpy, WindowCaptureType cap_type) {
Window get_focused_window(Display *dpy, WindowCaptureType cap_type, bool fallback_cursor_focused) {
//const Atom net_active_window_atom = XInternAtom(dpy, "_NET_ACTIVE_WINDOW", False);
Window focused_window = None;
@@ -146,6 +146,9 @@ namespace gsr {
XGetInputFocus(dpy, &focused_window, &revert_to);
if(focused_window && focused_window != DefaultRootWindow(dpy) && window_is_user_program(dpy, focused_window))
return focused_window;
if(!fallback_cursor_focused)
return None;
}
get_cursor_position(dpy, &focused_window);
@@ -213,9 +216,9 @@ namespace gsr {
return result;
}
std::string get_focused_window_name(Display *dpy, WindowCaptureType window_capture_type) {
std::string get_focused_window_name(Display *dpy, WindowCaptureType window_capture_type, bool fallback_cursor_focused) {
std::string result;
const Window focused_window = get_focused_window(dpy, window_capture_type);
const Window focused_window = get_focused_window(dpy, window_capture_type, fallback_cursor_focused);
if(focused_window == None)
return result;