diff --git a/src/transaction-gtk.vala b/src/transaction-gtk.vala index b7ffeed687b9adb7a3ed90ca1acfd44e40c2855c..5571323148b0136663dc30942296067b8114ab03 100644 --- a/src/transaction-gtk.vala +++ b/src/transaction-gtk.vala @@ -27,6 +27,7 @@ namespace Pamac { public ProgressBox progress_box; uint pulse_timeout_id; public Gtk.ScrolledWindow details_window; + double scroll_value; public Gtk.TextView details_textview; public Gtk.Notebook build_files_notebook; public ChoosePkgsDialog choose_pkgs_dialog; @@ -119,9 +120,11 @@ namespace Pamac { details_textview.buffer.get_end_iter (out iter); details_textview.buffer.insert (ref iter, message, -1); details_textview.buffer.insert (ref iter, "\n", 1); - // scroll the mark onscreen - unowned Gtk.TextMark mark = details_textview.buffer.get_mark ("scroll"); - details_textview.scroll_mark_onscreen (mark); + if (details_window.vadjustment.value >= scroll_value) { + scroll_value = details_window.vadjustment.value; + // scroll the mark onscreen + details_textview.scroll_mark_onscreen (details_textview.buffer.get_mark ("scroll")); + } } void display_action (string action) {