diff --git a/src/meson.build b/src/meson.build index 9fadcc6498dc7f160a9c46c4780eec05a3484c2a..7ebe4c460f14cf6f33de9661f97bdbe51f1ff31f 100644 --- a/src/meson.build +++ b/src/meson.build @@ -73,7 +73,7 @@ executable('pamac-system-daemon', libpamac = library('pamac', sources: [common_sources, transaction_sources, preferences_sources, transaction_resources], - dependencies: [gtk3, gdk3, vte3, posix, math], + dependencies: [gtk3, gdk3, vte3, libnotify, posix, math], vala_args: common_vala_args, c_args: common_c_args, install: true, diff --git a/src/transaction.vala b/src/transaction.vala index 21d8edce3c6a8466aa5c07b38c5018cf932be2d0..315a4834d43a8ffacc536145a2e78824cac07fd3 100644 --- a/src/transaction.vala +++ b/src/transaction.vala @@ -241,6 +241,8 @@ namespace Pamac { timer = new Timer (); success = false; warning_textbuffer = new StringBuilder (); + // notify + Notify.init (dgettext (null, "Package Manager")); } public void run_preferences_dialog () { @@ -1619,8 +1621,21 @@ namespace Pamac { box.add (scrolledwindow); dialog.default_width = 600; dialog.default_height = 300; - dialog.run (); - dialog.destroy (); + dialog.show (); + dialog.response.connect (() => { + dialog.destroy (); + }); + Timeout.add (1000, () => { + try { + var notification = new Notify.Notification (dgettext (null, "Package Manager"), + message, + "system-software-update"); + notification.show (); + } catch (Error e) { + stderr.printf ("Notify Error: %s", e.message); + } + return false; + }); } void handle_error (ErrorInfos error) { @@ -1635,6 +1650,16 @@ namespace Pamac { disconnecting_dbus_signals (); transaction_summary.remove_all (); reset_progress_box (""); + if (success) { + try { + var notification = new Notify.Notification (dgettext (null, "Package Manager"), + dgettext (null, "Transaction successfully finished"), + "system-software-update"); + notification.show (); + } catch (Error e) { + stderr.printf ("Notify Error: %s", e.message); + } + } finished (success); success = false; }