… by using less fixed pixel sizes.
After a bit of fighting with the graphics chip I’m running KDE now on a MacBook Pro with Retina display. KDE looks awesome on this screen after I increased every possible size option I could find in System Settings. Only the fonts scaled nicely with the huge DPI setting of 200 on their own – the rest needed to be tweaked manually. Nevertheless, at least KDE allows the user to change this stuff and this screenshot shows a few KDE examples which scale well and some non-KDE apps which do not play along that well:
As you can see, Dolphin and rekonq adjust quite well to my DPI settings, while Chromium ignores it completely. Tomahawk had most of the fonts hardcoded with setPixelSize().
But to be fair, not everything is perfect in KDE land too. Have a look at the notifcation area (aka. system tray) in the upper screenshot. Also KMix’s and PowerDevil’s OSDs looked like this:
Luckily enough, most of the times those issues are quite easy to fix. In this case it’s just about adjusting the icon and container size to the font size to make it look like this:
For more complex user interfaces like Tomahawk it’s obviously lots more work as just increasing the font sizes ends up in breaking all the layouts. However, I have already fixed most of the stuff there too. If you want to use Tomahawk on such a screen already, check out the branch “retina” in its git repository.
So if you find yourself typing the word “setPixelSize()” or some fixed size for a layout/widget/image/whatever for the next time, think twice. Even if your application is meant to run only on the Desktop, it does not mean that there will always be roughly the same pixel size everywhere. I’m sure we will see pop up high-resolution screens like the Apple Retina screen soon from other manufacturers too.