13 Mar 2008

Teufelskreise

Submitted by blizzz

Zwischen einigen Klausuren und einem sich dem Ende neigenden Projektphase konnte ich gestern wieder ein wenig an Skoreboard arbeiten. Dabei bin ich aber in Teufelskreise geraten

python-kde4 from ppa

In der Version 0.1.2 wurde Skoreboard ein wenig auf KDE angepasst, ergo die Bindings verwendet. Auf der KDE 4 Welle schwimmend, habe ich PyKDE4 verwendet, welches es für Gutsy nur aus einem PPA-Repository kommt. Habe ich bei der Programmierung damals aber nicht beachtet.

Damit gab es seit einem nicht mehr ganz so frischen Update Probleme. Der geneigte User stellt zuerst fest, das Skoreboard nicht mehr im Suchpfad befindet (da als KDE 4 Anwendung kompiliert). Aber das stellt ja kein großartiges Problem dar. Das Problem ist eher:

Traceback (most recent call last):
  File "/usr/lib/kde4/share/kde4/apps/skoreboard.py", line 26, in 
    from PyKDE4 import kdeui, kdecore
ImportError: /usr/lib/python2.5/site-packages/PyKDE4/kdecore.so: undefined symbol:
_ZN8KService18accessServiceTypesEv
Erster und meiner Ansicht nach naheliegenster Gedanke war einfach, die KDE3 Bindungs zu setzen. Das würde auch die Installation vereinfachen. Denkste:
Traceback (most recent call last):
  File "./skoreboard.py", line 27, in 
    from PyQt4 import QtGui, QtCore
RuntimeError: the PyQt4.QtCore and qt modules both wrap the QObject class
Na gut, dann ebend auch kein Qt4. Und wie mit qt? Tja, das hab ich noch nicht herausgefunden. Aber nebenbei, ne KDE 4 Anwendung auf KDE 3 Libs? Kann nicht sein... Vielleicht kommt ja noch ein update auf python-kde4. Ansonsten scheint mir wieder die Herausnahme der KDE Bindings am simpelsten.

python-dbus

Okay, als an Hardy gesetzt und dort erstmal weiter gemacht. Wär ja gelacht, wenn mich so eine Kleinigkeit lähmt. Ein Blick auf die unsortierte TODO-Liste und dann doch was anderes machen ;)

Beim Durchschweifen der Dokumentation ist mir die Klasse QSystemTrayIcon aufgefallen. Sowas brauchen wir :) Das war auch schnell gemacht und ging. Nur das ein Bildchen allein öde war. Ein Menü muss her...

Passenderweise lässt sich dem ein KontextMenü hinzufügen. Also bisschen Dokumentation gewälzt und tada! Bis auf eine klitzekleine Kleingkeit siehts super aus!

Wer braucht schon Text? Nach etwa 2h vergeblichen Probierens, hab ich bei Riddell Hilfe gefunden, der sich das ein wenig angesehen hat. Unter anderem folgenden Kommentart gabs:

#Oxygen doesn't work with python-dbus (it loads QtDbus which clashes) so force to plastique

Okay, die Anweisung den Plastique Stil zu übergeben, hat Aushilfe beschafft:

Wenn man jetzt darauf klickt, um den ganzen Screenshot zu sehen, stellt fest, dass eine KDE 4 Anwendung im Plastique Stil einfach bescheiden aussieht. Ich hoffe das gibt sich noch bis zum Hardy Release.

Lichtblick

Es gibt aber auch etwas, was fast uneingeschränkt funktioniert :)

Neues Feature in der kommenden Freigabe werden Benachrichtigungen sein. Wenn sich ein Spielstand ändert, oder auch mehrere, werden diese hübscherweise mit einer kleinen Nachricht beim SystemTrayIcon angezeigt. Da nun auch die Ausblendung des Fensters möglich ist, wie man es von Kopete oder Konversation kennt, kann man einfach die Liga bzw. den Wettbewerb wählen, aufs X klicken, und sich während dem was-auch-immer-am-PC-machen vom Ergebnisdienst informieren lassen. Screenshot:

Des weiteren

... kann ich auch ankündigen, dass es in der nächste Version mit der kicktipp.de Integration klappt. Dies wird zunächst über die Tippübersicht realisiert werden, darüber hinaus bieten sich natürlich noch viele Chancen und Möglichkeiten die geprüft werden. Dazu steht auch Kontakt zum Betreiber, welcher ganz angetan ist :)

Add new comment