diff --git a/legacy/ecore/src/Ecore.h b/legacy/ecore/src/Ecore.h index d640a0abb1..e8feafc603 100644 --- a/legacy/ecore/src/Ecore.h +++ b/legacy/ecore/src/Ecore.h @@ -776,7 +776,8 @@ extern "C" int any_mod); void ecore_keyboard_grab(Window win); void ecore_keyboard_ungrab(void); - + Window ecore_keyboard_grab_window_get(void); + /* ----------------- GRAPHICS CONTEXT AND DRAWING CALLS */ diff --git a/legacy/ecore/src/e_x.c b/legacy/ecore/src/e_x.c index 9b42dbe6e6..1a10d5253e 100644 --- a/legacy/ecore/src/e_x.c +++ b/legacy/ecore/src/e_x.c @@ -53,6 +53,8 @@ static Window_List *ignore_wins = NULL; static Window grab_pointer_win = 0; +static Window keyboard_grab_win = 0; + static int dnd_copy = 0; static int dnd_link = 0; static int dnd_move = 1; @@ -3354,8 +3356,6 @@ ecore_window_get_title(Window win) return NULL; } -static Window keyboard_grab_win = 0; - void ecore_keyboard_grab(Window win) { @@ -3384,6 +3384,13 @@ ecore_keyboard_ungrab(void) XUngrabKeyboard(disp, CurrentTime); } +Window +ecore_keyboard_grab_window_get(void) +{ + if (!disp) return 0; + return keyboard_grab_win; +} + Window ecore_selection_set(char *string) {