diff options
Diffstat (limited to 'libmdock/mdock-item-menu.c')
-rw-r--r-- | libmdock/mdock-item-menu.c | 11 |
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 } |