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
Konfiguration der Notifications für Ubuntu
Ubuntu verwendet Notify-OSD. Zur Konfiguration der Notifications (Breite, Höhe, Länge des Textes, u.v.m.) kann das Tool Notify OSD Configuration verwendet werden.
Anleitungen: