Desktop-Notifications mit Gtk2::Notify und Log::Dispatch::Gtk2::Notify
Veröffentlicht von Thomas Fahle am (Permalink)
Dank Gtk2::Notify von Florian Ragwitz ist sehr einfach Desktop-Notifications via D-Bus in eigene Programme einzubinden.
Log::Dispatch::Gtk2::Notify (ebenfalls von von Florian Ragwitz) vereinfacht die Ausgabe von Log-Meldungen als Desktop-Notifikation.
Gtk2::Notify
#!/usr/bin/perl use warnings; use strict; use Gtk2::Notify -init, "app_name"; my $summary = 'Gtk2::Notify'; my $message = 'Hallo Welt!'; my $icon = '/usr/share/app-install/icons/podbrowser.png'; my $attach_widget = undef; my $notification = Gtk2::Notify->new($summary, $message, $icon, $attach_widget); $notification->show;
Der Parameter summary erzeugt die Überschrift der Notification, message enthält die eigentliche Nachricht. Die Notification bleibt für 5 Sekunden auf dem Bildschirm stehen. Der optionale Parameter icon bindet ein Icon neben der Nachricht ein. Da die Notification einfach auf dem Desktop angezeigt werden soll und nicht an einem bestimmten geöffnetem Fenster, wird der Parameter attach_widget einfach auf undef gesetzt.
Log::Dispatch::Gtk2::Notify
Log::Dispatch::Gtk2::Notify wird als (weiteres) Ausgabeziel zu Log::Dispatch hinzugefügt. Je nach Level der Log-Nachricht wird automatisch ein passendes Icon in die Notification eingefügt.
#!/usr/bin/perl use strict; use warnings; use Log::Dispatch::Gtk2::Notify; my $notify = Log::Dispatch::Gtk2::Notify->new( name => 'notify', min_level => 'debug', app_name => 'MyApp', title => 'Important Message', ); $notify->log(level => 'alert', message => 'Hello, World!'); $notify->log(level => 'notice', message => 'Hello, World!');
Siehe auch:
- Gtk2::Notify
- Desktop-Notify - eine Alternative
- Desktop Notifications framework
- Net::DBus
- Log::Dispatch::Gtk2::Notify
- Log::Dispatch
- Log::Dispatch - Logging mit mehreren Ausgabezielen ganz einfach
- The log4perl project -- log4j for Perl