mirror of
https://github.com/0intro/wmii
synced 2025-02-16 14:24:00 +03:00
[menu] Grab the keyboard rather than setting the keyboard focus.
This commit is contained in:
parent
98f66f5aaf
commit
692dcce623
@ -223,7 +223,7 @@ menu_show(void) {
|
||||
mapwin(barwin);
|
||||
raisewin(barwin);
|
||||
menu_draw();
|
||||
setfocus(barwin, RevertToPointerRoot);
|
||||
grabkeyboard(barwin);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -970,6 +970,19 @@ ungrabpointer(void) {
|
||||
XUngrabPointer(display, CurrentTime);
|
||||
}
|
||||
|
||||
int
|
||||
grabkeyboard(Window *w) {
|
||||
|
||||
return XGrabKeyboard(display, w->w, false /* owner events */,
|
||||
GrabModeAsync, GrabModeAsync, CurrentTime
|
||||
) == GrabSuccess;
|
||||
}
|
||||
|
||||
void
|
||||
ungrabkeyboard(void) {
|
||||
XUngrabKeyboard(display, CurrentTime);
|
||||
}
|
||||
|
||||
/* Insanity */
|
||||
void
|
||||
sethints(Window *w) {
|
||||
|
@ -212,6 +212,7 @@ char* getprop_string(Window*, char*);
|
||||
int getprop_textlist(Window *w, char *name, char **ret[]);
|
||||
ulong getprop_ulong(Window*, char*, char*, ulong, ulong**, ulong);
|
||||
ulong getproperty(Window*, char *prop, char *type, Atom *actual, ulong offset, uchar **ret, ulong length);
|
||||
int grabkeyboard(Window*);
|
||||
int grabpointer(Window*, Window *confine, Cursor, int mask);
|
||||
void initdisplay(void);
|
||||
KeyCode keycode(char*);
|
||||
@ -242,6 +243,7 @@ uint textwidth(Font*, char*);
|
||||
uint textwidth_l(Font*, char*, uint len);
|
||||
int traperrors(bool);
|
||||
Point translate(Window*, Window*, Point);
|
||||
void ungrabkeyboard(void);
|
||||
void ungrabpointer(void);
|
||||
int unmapwin(Window*);
|
||||
void warppointer(Point);
|
||||
|
Loading…
x
Reference in New Issue
Block a user