grab enter/leave events during mouse grabs and pass events along still during the grab. this is needed to catch enter/leave events in the menus. it seems to not be weird with apps.
This commit is contained in:
parent
8644a47cb7
commit
854b2ae684
1 changed files with 4 additions and 3 deletions
|
@ -26,7 +26,8 @@
|
|||
#include <glib.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#define GRAB_PTR_MASK (ButtonPressMask | ButtonReleaseMask | PointerMotionMask)
|
||||
#define GRAB_PTR_MASK (ButtonPressMask | ButtonReleaseMask | \
|
||||
PointerMotionMask | EnterWindowMask | LeaveWindowMask)
|
||||
#define GRAB_KEY_MASK (KeyPressMask | KeyReleaseMask)
|
||||
|
||||
#define MASK_LIST_SIZE 8
|
||||
|
@ -96,7 +97,7 @@ gboolean grab_pointer(gboolean grab, ObCursor cur)
|
|||
if (grab) {
|
||||
if (pgrabs++ == 0) {
|
||||
ret = XGrabPointer(ob_display, screen_support_win,
|
||||
False, GRAB_PTR_MASK, GrabModeAsync,
|
||||
True, GRAB_PTR_MASK, GrabModeAsync,
|
||||
GrabModeAsync, None,
|
||||
ob_cursor(cur), event_curtime) == Success;
|
||||
if (!ret)
|
||||
|
@ -120,7 +121,7 @@ gboolean grab_pointer_window(gboolean grab, ObCursor cur, Window win)
|
|||
|
||||
if (grab) {
|
||||
if (pgrabs++ == 0) {
|
||||
ret = XGrabPointer(ob_display, win, False, GRAB_PTR_MASK,
|
||||
ret = XGrabPointer(ob_display, win, True, GRAB_PTR_MASK,
|
||||
GrabModeAsync, GrabModeAsync, None,
|
||||
ob_cursor(cur),
|
||||
event_curtime) == Success;
|
||||
|
|
Loading…
Reference in a new issue