ui: Don't use grab ops for grab negotation

Grab operations are now always taken on the backend connection, and
this breaks GTK+'s event handling.

Instead of taking a grab op, just do the handling ourselves. The
GTK+ connection will get an implicit grab, which means pointer /
keyboard events won't be sent to the rest of mutter, which is good.
This commit is contained in:
Jasper St. Pierre
2014-04-24 13:04:15 -04:00
parent c5d4f4a245
commit ebb6847bd1
8 changed files with 86 additions and 393 deletions

View File

@ -82,6 +82,8 @@ struct _MetaUIFrame
/* FIXME get rid of this, it can just be in the MetaFrames struct */
MetaFrameControl prelit_control;
MetaButtonState button_state;
int grab_button;
};
struct _MetaFrames
@ -95,6 +97,8 @@ struct _MetaFrames
GtkStyleContext *normal_style;
GHashTable *style_variants;
Window grab_xwindow;
};
struct _MetaFramesClass
@ -153,8 +157,6 @@ void meta_frames_move_resize_frame (MetaFrames *frames,
void meta_frames_queue_draw (MetaFrames *frames,
Window xwindow);
void meta_frames_notify_menu_hide (MetaFrames *frames);
Window meta_frames_get_moving_frame (MetaFrames *frames);
#endif