diff options
author | sabetts <sabetts> | 2003-08-31 06:51:32 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2003-08-31 06:51:32 +0000 |
commit | 8122f90155b54a948bc062d496de373f891a43f6 (patch) | |
tree | f0ccbcde619d3db377ede191aa1458422f067a9b /src/input.c | |
parent | e62c770a1ea5d89bb91d9b84ac4a4593bc32ef71 (diff) | |
download | ratpoison-8122f90155b54a948bc062d496de373f891a43f6.zip |
* src/input.c (get_more_input): use XGrabKeyboard and XUngrabKeyboard
for changing focus to read key presses.
* src/events.c (handle_key): use XGrabKeyboard and XUngrabKeyboard
for changing focus to read key presses.
* src/actions.c (cmd_resize): use XGrabKeyboard and
XUngrabKeyboard for changing focus to read key presses.
(cmd_license): likewise
(cmd_help): likewise
(cmd_fselect): likewise
Diffstat (limited to 'src/input.c')
-rw-r--r-- | src/input.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/input.c b/src/input.c index a0ee12c..b069991 100644 --- a/src/input.c +++ b/src/input.c @@ -377,8 +377,6 @@ get_more_input (char *prompt, char *preinput, rp_screen *s = current_screen (); KeySym ch; unsigned int modifier; - int revert; - Window fwin; rp_input_line *line; char *final_input; edit_status status; @@ -396,9 +394,7 @@ get_more_input (char *prompt, char *preinput, update_input_window (s, line); - XGetInputFocus (dpy, &fwin, &revert); - set_window_focus (s->input_window); - /* XSync (dpy, False); */ + XGrabKeyboard (dpy, s->input_window, False, GrabModeSync, GrabModeAsync, CurrentTime); for (;;) { @@ -437,7 +433,8 @@ get_more_input (char *prompt, char *preinput, /* Clean up our line structure */ input_line_free (line); - set_window_focus (fwin); + /* Revert focus. */ + XUngrabKeyboard (dpy, CurrentTime); XUnmapWindow (dpy, s->input_window); return final_input; |