summaryrefslogtreecommitdiff
path: root/src/display.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/display.c')
-rw-r--r--src/display.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/display.c b/src/display.c
index 4ff003275..b2accdc92 100644
--- a/src/display.c
+++ b/src/display.c
@@ -274,7 +274,8 @@ meta_display_open (const char *name)
"_METACITY_SENTINEL",
"_NET_WM_STRUT_PARTIAL",
"_NET_WM_ACTION_FULLSCREEN",
- "_NET_WM_ACTION_MINIMIZE"
+ "_NET_WM_ACTION_MINIMIZE",
+ "_NET_WM_USER_TIME"
};
Atom atoms[G_N_ELEMENTS(atom_names)];
@@ -419,6 +420,7 @@ meta_display_open (const char *name)
display->atom_net_wm_strut_partial = atoms[80];
display->atom_net_wm_action_fullscreen = atoms[81];
display->atom_net_wm_action_minimize = atoms[82];
+ display->atom_net_wm_user_time = atoms[83];
display->prop_hooks = NULL;
meta_display_init_window_prop_hooks (display);
@@ -1168,7 +1170,8 @@ event_callback (XEvent *event,
Window modified;
gboolean frame_was_receiver;
gboolean filter_out_event;
-
+ Time event_time;
+
display = data;
if (dump_events)
@@ -1321,7 +1324,15 @@ event_callback (XEvent *event,
meta_compositor_process_event (display->compositor,
event,
window);
-
+
+ if (window &&
+ (event->type == KeyPress ||
+ event->type == ButtonPress) &&
+ (CurrentTime !=
+ (event_time = event_get_time (display, event)))) {
+ window->net_wm_user_time = event_time;
+ }
+
switch (event->type)
{
case KeyPress:
@@ -1867,9 +1878,10 @@ event_callback (XEvent *event,
{
MetaGroup *group;
MetaScreen *screen;
-
- if (window && !frame_was_receiver)
+
+ if (window && !frame_was_receiver) {
meta_window_property_notify (window, event);
+ }
group = meta_display_lookup_group (display,
event->xproperty.window);