From pykde Mon Sep 25 08:41:32 2006 From: Jim Bublitz Date: Mon, 25 Sep 2006 08:41:32 +0000 To: pykde Subject: [PyKDE] konsole_part yet again Message-Id: <200609250141.32536.jbublitz () nwinternet ! com> X-MARC-Message: https://marc.info/?l=pykde&m=115917365818486 Apparently I made an incorrect assumption about konsole_part. Since originally libkonsolepart.so exported all of the symbols needed to do a simple binding, and since it exports those symbols on SuSE for KDE > 3.5, I assumed it could be used as a library. Unfortunately, the only symbol that's guaranteed to be exported is the init function for the konsole_part factory. So while it's possible to use konsole_part as a KPart, there isn't any practical way to guarantee the classes and methods for a konsole_part will be available. I can't do a wrapper for those classes if there's no underlying lib to link to. If there's no binding, there isn't any way to cast the returned KParts:ReadWritePart that's returned when you load the part, to a konsolePart, since PyKDE will have no idea of what a konsolePart is. That means the only way to interface to a konsole_part is via DCOP, which will let you change the colors, fonts, size, etc., but won't let you read or write to the konsole's command line. Which is one of the problems with DCOP - you're restricted to what the app's authors choose to make available, and in some cases that isn't enough to make use of a KPart. So what I'll do is the opposite of what I started out to do in response to Torsten's messages the last few days. I added a -x switch to configure.py to disable generating konsole_part support. What I'll do is reverse the sense of that switch. By default, konsole_part won't be supported and the -x switch will turn on konsole_part support for those who want it and have a distribution that supports it. You can tell if your distribution supports it by doing: nm -DC --defined-only $KDE_PATH/lib/kde3/libkonsolepart.so where KDE_PATH (if not in your environment) is the path to the top level KDE directory on your system. If that returns symbols for konsolePart and related classes and methods, konsole_part support should work, and you can enable it. If not, the PyKDE kparts module won't load if you enable the support. Jim _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde