http://www.documentroot.net - Tipps, Tricks, Tutorials, Wissenswertes
18. April 2010

KNotify-Popups per Shell/Python

Quelle: http://www.documentroot.net/linux/knotify-shell-python

Manchmal will man einem Skript oder Programm die Möglichkeit geben, sich dem Benutzer dezent mitzuteilen, obwohl es minimiert oder irgendwo im Hintergrund läuft. KDE hat für solche Zwecke KNotify (eine Notification Area im Systray) vorgesehen. KNotify anzusteuern ist seit D-Bus-Zeiten nicht mehr ganz so einfach wie früher. Mit einem kleinen Skript gehts aber doch flott und komfortabel.

Hier ist der Quellcode dafür: (knotify.py)

1
2
3
4
5
6
7
#!/usr/bin/python
import sys, dbus
knotify = dbus.SessionBus().get_object("org.kde.knotify", "/Notify")
try:    title, text = sys.argv[1:3]
except: print 'Usage: knotify.py title text'; sys.exit(1)
knotify.event("warning", "kde", [], title, text, [], [], 0, 0,\
dbus_interface="org.kde.KNotify")

So schauts aus, wenn das Skript aufgerufen wird:
KNotify Skript Beispiel

Ein direkter Aufruf per qdbus scheint übrigens nicht möglich zu sein, da die aufzurufende Methode eine QVariantList als Argument erwartet und die Bash keine Konvertierung zu diesem Datentyp zu unterstützen scheint. Deshalb der Umweg über das Python-Skript.

Linux , , , , , , ,