LxLauncher: automatic icon size for a nicer interface
One issue we had in mind for a while is the fixed size of icons in LxLauncher. Depending on screen resolution, this size can be fitting well (small resolutions) or really too small (large resolutions). In the later case, the interface of advanced activities like “Whole DoudouLinux” and “Mini DoudouLinux” can look very empty, just as the screenshot that is unfortunately available on our DistroWatch page.
With automatic icon size computation, we are now able to get a similar rendering on various screen resolutions as shown on the photo composition below. In this case, screen resolutions are 1280×800 (HP), 1280×1024 (CRT display), 1024×768 (Dell) and 1024×600 (Genesi), leading to screen size ratios 5÷4, 4÷3 or between 16÷10 and 16÷9. If you want to give it a try, just download one of our recent dailybuilds, in English or French only.
We hope then to not see this kind of screenshot anymore:
Now few words about the way we achieved it.
In Debian Squeeze, the LxLauncher version, v0.2.1, features icon size tuning in a configuration file,
/etc/xdg/lxlauncher/settings.conf. This is an easy way to change the icon size but, of course, requires user action. This is why we've developed a shell script that is called during GDM initialization to adapt the icon size to the actual screen resolution. The algorithm is the following:
- compute screen surface in pixels-square
- compute the width of icons to have a given number of them in a given portion of the screen (45% in our script)
- compute the rounded number of icons per row using the previous width
- compute the final icon width using screen width and number of icons per row
This script is available on our SVN server. Its algorithm is designed to be independent of screen orientation since it does not uses the screen width to compute the icon size but the screen surface. We hope then to be able to run DoudouLinux on any device in the future, from the smallest handheld devices to the largest TV screens :).
Finally, what about the stable DoudouLinux release Gondwana? Well it is shipping with LxLauncher v0.2.0 which does not allow to set icon size (it is hard-coded). Nevertheless trials have been performed to backport icon size setting from 0.2.1 and it seems to work! We should then release the latest update of Gondwana, v1.2, with this new feature :).