summaryrefslogtreecommitdiff
path: root/src/input.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2003-08-31 06:51:32 +0000
committersabetts <sabetts>2003-08-31 06:51:32 +0000
commit8122f90155b54a948bc062d496de373f891a43f6 (patch)
treef0ccbcde619d3db377ede191aa1458422f067a9b /src/input.c
parente62c770a1ea5d89bb91d9b84ac4a4593bc32ef71 (diff)
downloadratpoison-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.c9
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;