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???

1 Comments:

At 3:03 PM, Blogger Robert said...

Seemingly a SuSE thing -- on my Gentoo box running KDE 3.5.6 and koffice-1.6, unchecking the font box KEEPS it off.

 

Post a Comment

<< Home