summaryrefslogtreecommitdiff
path: root/libmdock/mdock-item-menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmdock/mdock-item-menu.c')
-rw-r--r--libmdock/mdock-item-menu.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libmdock/mdock-item-menu.c b/libmdock/mdock-item-menu.c
index 39495af..02de0bb 100644
--- a/libmdock/mdock-item-menu.c
+++ b/libmdock/mdock-item-menu.c
@@ -53,6 +53,7 @@ static GParamSpec *obj_properties[N_PROPERTIES] = { NULL };
#ifdef HAVE_ZEITGEIST
+#define INITIAL_REFRESH_DELAY 3
#define RECENT_FETCH_MIN_INTERVAL 15
G_DEFINE_QUARK(mdock-item-menu-file, mdock_item_menu_file)
@@ -205,6 +206,15 @@ static gboolean handle_menu_map(MDockItemMenu *self, GdkEventAny *event)
return FALSE;
}
+static gboolean initial_menu_refresh(gpointer user_data)
+{
+ MDockItemMenu *self = MDOCK_ITEM_MENU(user_data);
+ // If we have never refreshed the menu so far, do an initial one now.
+ if (self->priv->recent_fetch_time == 0) {
+ refresh_recent_menu(self);
+ }
+}
+
#endif
static void handle_item_pinned(MDockItemMenu *self, GParamSpec *spec, MDockItem *item)
@@ -304,6 +314,7 @@ mdock_item_menu_constructed(GObject *object)
#ifdef HAVE_ZEITGEIST
g_signal_connect(self, "map-event",
G_CALLBACK(handle_menu_map), self);
+ g_timeout_add_seconds(INITIAL_REFRESH_DELAY, initial_menu_refresh, self);
#endif
}