startkde.cmake should treat font dpi like kcontrol/krdb/krdb.cpp does
Review Request #101410 - Created May 21, 2011 and submitted
|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.
Review request changed
Updated diff. The new diff includes the corresponding changes for the GUI, with the following characteristicas: - Default is not forcing any DPI value - If the user wants, he can choose dpi values from 1 dpi up to 1000 dpi. (This is a little bit arbitrary. However, QSpinBox's default maximum value is 99, and this would not be sufficient.) - Each step in the spinbox are 24 dpi, because the common covenience values 72, 96 and 120 are multiples of 24. Going in steps of 24 maybe makes fonts look better. However, the user can choose manually any value ... - I've notices that the DPI setting is also available on MS Windows, but hasn't any effect there because Xft isn't available. Maybe this field should not build on Windows? (Some #ifdef ...?) - There is no "live preview" of the dpi value for the fonts. Maybe this should be done in a seperate patch?
Revision 2 (+34 -29)