Monday, February 12, 2007


In the true spirit of the lazy web, I'll put this out and see if anyone wants to take it up:

I'd like to improve kbugbuster to help with KDE bug triage. One of the main limitations at the moment is that it can only use the email interface to make changes, so that limits the app to closing bugs as FIXED, and very little else. So, what I want is a way to make any type of changes allowed by bugzilla. The only way I could find was to "fake" being a web browser by sending HTTP POSTs. But try as I might, I can't get it to work. Making comments or changes to bugs in the KDE bugzilla just POSTs the form data to the process_bug.cgi script, but whatever I try, I get strange errors from the server.

So, does anyone out there think they can do a better job of this? Ideally, I'd like to have C++ code using the KDE libraries to do this, but any kind of code would be fine - I can probably convert it to C++ if I can see exactly what's needed.

Monday, February 05, 2007

Guest blog!

So I'm playing at being a real blog writer, and having a guest blogger for this post. I guess Kurt Pfeifle needs no introduction, but here's some relevant info:

Kurt is a long-time KDE contributor, and living proof that you don't have to be a coder to have a real effect in improving KDE. He does a lot of work on the KDE Print system (just take a look at all the whatsthis help in the printing dialog), and has recently done a lot of work triaging kdeprint bug reports. He's currently working on the notorious problems with producing PDFs from KDE applications.

I need a bit of help from some Qt or KDE developer guru.

Here is the problem: an unknown-to-me (and escaping-my-tracing-attempts) process keeps writing into my qtrc setting file(s) one specific key value that I want to remain unchanged. I want it to remain "embedFonts=false" as long as *I* tell it so; but some alien thing reverts it to "embedFonts=true" after each and every time I printed something.

Here some more details about my qtrc problem.

I know of 2 GUI applications that write this specific setting, when a certain checkbox is enabled:

  • "kaddprinterwizard --kdeconfig"; select "Fonts"; enable "Embed fonts in PostScript data when printing"

  • "qtconfig"; select the "Printer" tab; activate "Enable Font Embedding"

The button "System Options" in kprinter does also start this same dialog ("kaddprinterwizard --kdeconfig".)

Here is what I do:

  • open a KWord document

  • start the print dialog

  • click button "System Options" (i.o.w.: "kaddprinterwizard --kdeconfig")

  • make sure fonts are *not* embedded; confirm

  • select the "Print to file (PDF)" printer

  • print it

Here is what happens:

  • Next time I want to print...

  • ...I start the print dialog...

  • ...I click button "System Options" (i.o.w.: "kaddprinterwizard --kdeconfig")...

  • ...and annoyingly, I find that in the meantime, font embedding has magically been re-enabled!

The file qtrc comes in different incarnations:

  • /etc/X11/qtrc (for system-level settings). This one is used, when root runs "qtconfig".

  • $HOME/.qt/qtrc (for user-level settings). This one is used, when user runs "qtconfig" or "kaddprinterwizard --kdeconfig".

I assume, the settings in $HOME/.qt/qtrc should override settings of the /etc/X11/qtrc file for a user.

I verified that my clicking/confirming the change in the KDEPrint GUI does indeed write into the qtrc file momentarily. But as I said, this gets again reverted by another process. I also manually edited the system-wide /etc/X11/qtrc file and made sure it had "embedFonts=false" when I saved it. The above described behavior still remained unchanged, and even that system wide /etc/X11/qtrc file got reset!

I don't know who or what does mess with my qtrc file(s) and who or what resets my configuration to something I do not want for now.

For now, as a temporary workaround, I have changed permissions to all qtrc files found on my system to "0444" (read-only for user, group and others). This now ensures that my darn "embedFonts=false" entry remains stable; but this hack obviously is not exactly what the doctor ordered, and may lead to other problems on other corners of the system which I currently am not aware of....

So here are my questions to you:

  • Does this happen on your system too? (Mine is a SUSE-10.0 with qt3-3.3.7-9.3 and KDE 3.5.5, *and* libqt4-4.2.2-2.1 *and* libqt4-qt3support-4.2.2-2.1... but in any case, Qt4 doesn't seem to use a qtrc file any more.)

  • How can I find out who/what is re-setting the qtrc file behind my back?

  • How do I get rid of that behavior???