static gboolean app_is_stale (ShellApp *app) { GDesktopAppInfo *info; gboolean is_stale; if (shell_app_is_window_backed (app)) return FALSE; info = g_desktop_app_info_new (shell_app_get_id (app)); is_stale = (info == NULL); if (info) g_object_unref (info); return is_stale; }
static void on_app_state_changed (ShellAppSystem *app_system, ShellApp *app, gpointer user_data) { ShellAppUsage *self = SHELL_APP_USAGE (user_data); UsageData *usage; gboolean running; if (shell_app_is_window_backed (app)) return; usage = get_usage_for_app (self, app); running = shell_app_get_state (app) == SHELL_APP_STATE_RUNNING; if (running) usage->last_seen = get_time (); }