startkde.cmake should treat font dpi like kcontrol/krdb/krdb.cpp does

Review Request #101410 - Created May 21, 2011 and submitted

Lukas Sommer
kde-baseapps, kde-runtime, kdelibs
I've been experimenting a little bit with custom font dpi sizes in $HOME/.kde4/share/config/kcmfonts

There, you can set custom font dpi value. Although the user interface (systemsettings/fonts) only provides 0 (don't force a dpi, use the system default instead), 96 and 120 as choice, in the config file you can put (manually) arbitrary values. This works mostly fine because kcontrol/krdb/krdb.cpp simply processes the dpi value of the config file "as is".

However, startkde.cmake doesn't. It checks if the value is 96 or 120. If not, the value is ignored and the system default is used.

Result: When you use e.g. 200 as dpi value and restart KDE, then KWin uses the default value (96 dpi on my system) for the window title, while the applications themself are displayed using 200 dpi. So the applications fonts are as big as desired, but the window title is too small. See the attached screenshot. This behaviour is inconsistent. startkde.cmake should follow the same police as kcontrol/krdb/krdb.cpp does. This patch fixes this.

(The user interface could be adopted in another patch.)

(Make this work would benefit people who need a high display resolution. Example: You connect your computer to your plasma tv and you want to be still be able to read the text although you are at a distance of 5 meters from the tv monitor. See also bug 272266)
I've applied the patch to my local /usr/bin/startkde file, and it works fine.


Christoph Feck
Lukas Sommer
Lukas Sommer
Review request changed


David Faure
Looks good. Do you want me to commit this for you, or do you want to get a kde contributor account instead, to be able to commit this directly as well as future patches? :)
  1. It would be great to have a kde contributor account. (However, I will have to learn to work with GIT. :)
  2. See
Commit Hook
This review has been submitted with commit 9e1de272620da40fead11dfdb705cfc3d9a90f10 by Lukas Sommer.