Bubli (hedgehogpainter) wrote,

  • Mood:

A fairytale about brave wizard QSplitter and evil ancient screen resolution from the last century

Once upon a time, in the country of Novell-land, there was a happy community of openSUSE users who once in about six months installed a shiny new openSUSE operating system onto their magic boxes. To do that, they used a powerful tool called YaST, brought to them by group of hardworking goblins called YaSTees whose work has been closely watched by Good Project Manager Stano and team leads Duncan and Jiri.

In most of the cases, installation went on smoothly and users really appreciated a panel with the list of installation steps that was visible at all times, showing them where exactly in the installation workflow they were. But sometimes, it was necessary to make a side-step from the main workflow and open a new dialog, which covered the steps. That was something Good Project Manager Stano did not like. He said: "Installation looks ugly without steps" and asked YaSTees do to something with it. So they did and since then, no dialog ever made the steps invisible again.

But things weren't always so idyllic in openSUSE community. An evil and very, very old creature - Ancient Screen Resolution from the Last Century, nicknamed 800x600, lived in Novell-land and sometimes it was sent by mischievous X11 gods to squat in the magic boxes of ordinary openSUSE users. As installation steps occupied almost one third of user's screen, little of space was left for the rest of installation clickety stuff in such case. Users were unhappy, as partitioning the disk or configuring the printer was now rather cumbersome for them. Here is what they've seen:

Two of YaSTees' wizard friends, old QFrame and his son, QSplitter gathered and were thinking about how to help YaSTees to make their users (especially those who were hit by 800x600 beast) happy again. Old QFrame wizard knew how to group all his children widgets horizontally side by side and passed all his knowledge to his son, but QSplitter went even further. He learned how to insert small knobs between his children, and with the help of user's mouse, he could change the proportions of the window occupied by each individual widget, eventually make some of the widgets completely disappear and appear again. QFrame said: "I am very old now and I grew tired in YaSTees' services over the time. And this task is already too much for me and my abilities. It will be better, if you take over, my son, and from now on, it will be you who is responsible for arranging all those misbehaving widgets in the installation". And he retired, packed his luggage and went travelling around the world.

It was a great challenge for QSplitter wizard. The task was easy with the dialogs of the main installation workflow, but taming the dialogs of sub-workflows was much more difficult quest. As unlikely as it may seem, what can be seen here is not one "window", but two of them, overlapping each other in such a way, that only the side panel with steps is visible from the bottom one:

But QSplitter finally succeeded. What did it mean for openSUSE users? Now even if 800x600 evil creature resided in their magic box, thanks to QSplitter they could use their mouse, hide installation steps for the time being and give more space to the tool for partitioning their disk (configuring their printer). Then, they could of course recover the steps again. Here is how it looked like:

At the end, everyone was happy. And that, dear children, is the end of this fairytale. We have proven that the solution exists and we can go back to sleep :-) :-D

Acknowledgements: to HuHa for his YDialogSpy (excellent debugging tool), to Good Project Manager Stano for his spiritual support :) and to captain Arvin for the final impulse, so I stopped lazying around and finally got down to doing something

Tags: development, opensuse, usability, yast

  • News from libstorage/YaST partitioner insectarium

    NFS to the power of 4After ext4 and btrfs in openSUSE 11.2, nfs4 is the next filesystem to be fully supported by libstorage (libstorage is the…

  • On testing

    ( I promised this article to Lukáš today, so now I really have to write it :) ) What is the most important part of software…

  • bYnary incompatiDEbility

    All I really need know I learned in kindergarten ... Come on, say you're sorry when you mess things up. Allright, we released a YaST (ncurses)…

  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.