+/*! Time at which the current event occured. If this is not known, this
+ is a time at or after it, but at or before any other events we will process
+*/
+Time event_time(void);
+
+/*! Force event_time() to skip the current timestamp and look for the next
+ one. */
+void event_reset_time(void);
+
+/*! A time at which an event happened that caused this current event to be
+ generated. This is a user-provided time and not to be trusted.
+ Returns CurrentTime if there was no source time provided.
+*/
+Time event_source_time(void);
+
+/*! Update the timestamp for when the user has last used the focused window.
+ This updates the timestamp to the time of the last event, given by
+ event_time().
+*/
+void event_update_user_time(void);
+
+/*! Reset the timestamp for when the user has last used the focused window. */
+void event_reset_user_time(void);