return 0;
}
+#define CURSOR_AUTOHIDE_THRESHOLD_SEC 4
+
+static Boolean hide_cursor(XtPointer data) {
+ MainWindow *win = data;
+ WindowHidePlayerCursor(win);
+ return 0;
+}
+
+static void check_hide_cursor(Player *p) {
+ MainWindow *win = GetMainWindow();
+ if(win->cursorhidden) return;
+
+ if(p->playback_time - win->motion_playback_time > CURSOR_AUTOHIDE_THRESHOLD_SEC) {
+ AppExecProc(hide_cursor, win);
+ }
+}
+
static void handle_json_rpc_event(Player *p, JSONValue *v, JSONValue *event) {
if(!json_strcmp(event, "property-change")) {
JSONValue *name = json_obj_get(&v->value.object, "name");
if(data && data->type == JSON_NUMBER) {
p->playback_time = data->value.number.value;
//printf("playback-time: %f\n", p->playback_time);
+ check_hide_cursor(p);
}
} else if(!json_strcmp(name, "eof-reached")) {
if(data && data->type == JSON_LITERAL && data->value.literal.literal == JSON_TRUE) {