X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fask-password-agent.vala;h=1523e2e3bef16d805a6845d795085399a5c294c4;hp=5355bb469411c90e3bcbf17fe060cc32799fc91e;hb=567ea02a89b358090032c8d1ec89286db07ab2ff;hpb=490aed584944b684026a3fd01f8d81f2881e38d6 diff --git a/src/ask-password-agent.vala b/src/ask-password-agent.vala index 5355bb469..1523e2e3b 100644 --- a/src/ask-password-agent.vala +++ b/src/ask-password-agent.vala @@ -22,6 +22,7 @@ using GLib; using DBus; using Linux; using Posix; +using Notify; [CCode (cheader_filename = "time.h")] extern int clock_gettime(int id, out timespec ts); @@ -84,7 +85,7 @@ public class MyStatusIcon : StatusIcon { public MyStatusIcon() throws GLib.Error { GLib.Object(icon_name : "dialog-password"); - set_title("System Password Agent"); + set_title("System Password"); directory = File.new_for_path("/dev/.systemd/ask-password/"); file_monitor = directory.monitor_directory(0); @@ -138,7 +139,7 @@ public class MyStatusIcon : StatusIcon { } - bool load_password() { + bool load_password() throws GLib.Error { KeyFile key_file = new KeyFile(); @@ -179,6 +180,12 @@ public class MyStatusIcon : StatusIcon { set_from_icon_name(icon); set_visible(true); + + Notification n = new Notification(title, message, icon, null); + n.attach_to_status_icon(this); + n.set_timeout(5000); + n.show(); + return true; } @@ -236,6 +243,7 @@ void show_error(string e) { int main(string[] args) { try { Gtk.init_with_args(ref args, "[OPTION...]", entries, "systemd-ask-password-agent"); + Notify.init("Password Agent"); MyStatusIcon i = new MyStatusIcon(); Gtk.main();