diff --git a/src/window.cpp b/src/window.cpp index c25751fbb6..c6a221af03 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -466,6 +466,15 @@ bool EditBoxInGlobalFocus() return _focused_window->nested_focus != nullptr && _focused_window->nested_focus->type == WWT_EDITBOX; } +/** + * Check if a console is focused. + * @return returns true if the focused window is a console, else false + */ +bool FocusedWindowIsConsole() +{ + return _focused_window && _focused_window->window_class == WC_CONSOLE; +} + /** * Makes no widget on this window have focus. The function however doesn't change which window has focus. */ diff --git a/src/window_func.h b/src/window_func.h index 45e2d71eca..7fca0d9c12 100644 --- a/src/window_func.h +++ b/src/window_func.h @@ -55,6 +55,7 @@ void DeleteWindowById(WindowClass cls, WindowNumber number, bool force = true); void DeleteWindowByClass(WindowClass cls); bool EditBoxInGlobalFocus(); +bool FocusedWindowIsConsole(); Point GetCaretPosition(); #endif /* WINDOW_FUNC_H */