diff --git a/data/ui/gummi.glade b/data/ui/gummi.glade
index b9f65519..5d219320 100644
--- a/data/ui/gummi.glade
+++ b/data/ui/gummi.glade
@@ -660,6 +660,8 @@
True
shouldnotseeme
+
+
@@ -668,6 +670,8 @@
True
shouldnotseeme
+
+
@@ -676,6 +680,8 @@
True
shouldnotseeme
+
+
@@ -684,6 +690,8 @@
True
shouldnotseeme
+
+
@@ -692,6 +700,8 @@
True
shouldnotseeme
+
+
diff --git a/src/gui/gui-main.c b/src/gui/gui-main.c
index bd9b266f..fa28e5d5 100644
--- a/src/gui/gui-main.c
+++ b/src/gui/gui-main.c
@@ -1001,6 +1001,8 @@ void display_recent_files (GummiGui* gui) {
gtk_menu_item_set_label (gui->recent[i], tstr);
gtk_widget_set_tooltip_text (GTK_WIDGET (gui->recent[i]),
gui->recent_list[i]);
+ gtk_widget_add_events( (GTK_WIDGET (gui->recent[i])), GDK_ENTER_NOTIFY_MASK );
+ gtk_widget_add_events( (GTK_WIDGET (gui->recent[i])), GDK_LEAVE_NOTIFY_MASK );
gtk_widget_show (GTK_WIDGET (gui->recent[i]));
g_free (tstr);
g_free (basename);
@@ -1039,6 +1041,10 @@ gboolean statusbar_del_message (void* user) {
return FALSE;
}
+void statusbar_set_permanent_message (const gchar* message) {
+ gtk_statusbar_push (GTK_STATUSBAR (gui->statusbar), gui->statusid, message);
+}
+
/**
* @brief "changed" signal callback for editor->buffer
* Automatically check whether to start timer if buffer changed.
diff --git a/src/gui/gui-menu.c b/src/gui/gui-menu.c
index 5aa119a1..4f0b73cc 100644
--- a/src/gui/gui-menu.c
+++ b/src/gui/gui-menu.c
@@ -277,6 +277,17 @@ gboolean on_menu_quit_activate (void) {
return FALSE;
}
+G_MODULE_EXPORT
+gboolean on_menu_hover_activate (GtkWidget* widget, GdkEvent* event, gpointer data) {
+ gchar* filename = gtk_widget_get_tooltip_text (widget);
+ statusbar_set_permanent_message (filename);
+}
+
+G_MODULE_EXPORT
+gboolean on_menu_leave_activate (GtkWidget* widget, GdkEvent* event, gpointer data) {
+ statusbar_del_message (NULL);
+}
+
/*******************************************************************************
* EDIT MENU *
******************************************************************************/