Creating a Sane Beryl Settings Manager

The Beryl project has won a lot of press time so far with its impressive tricks — even more than its slower-evolving daddy, Compiz. There are several lose ends to Beryl’s core engine and incompatibilities with existing applications or technologies. However, something that really put off a lot of people when they try Beryl is its dreadful settings manager.The current settings manager recently went under its second re-write, but it kept the same philosophy of being too elaborate. It is a good platform for developers to test how their Beryl plugins are behaving with each setting, but the reality is that it is not an end-user focused preference panel.

However, the time where most major desktop distros will be shipping by default with Beryl is nearing — might be as close as the coming October (hint, hint). For these distros, a new Gnome/KDE preference panel will be needed, one that has a sane amount of settings without overpowering the user. Hence, my little mockups below.

These mockups imply some other under the hood settings too, mostly having to do with Gnome integration in this case:
* Viewports are off by default. Beryl must use Gnome’s/KDE’s virtual desktop applet’s settings regarding workspaces.
* The Heliodor engine is used by default so users can use existing Metacity themes. There is no reason to re-invent the wheel here. Metacity’s current pref panel should work as Heliodor’s settings too.
* No reason for a notification-area Beryl icon. Enabling/disabling must happen from the Gnome pref panel, which sets itself to startup or not in the next login session.
* No 3D cubes and skydomes and other useless stuff like that. Most of the other plugins should be OFF too.
* Very few shortcuts, only the ones that are really used and they don’t get on the way of Gnome/KDE’s existing shortcut list. The current shortcut list is unbearable.
* Most of the animations must take less time to get carried through, so the user don’t run out of patient within the hour of using Beryl.
* Only animate with the “burn” or “beam me up” effects main application’s windows on “close”, not alerts or dialogs that belong to the application.
* “View windows from all workspaces” should be as easy to use as Mac OS X’s Panther new virtual screen “scale” effect. Cuts the desktop in 4 rectangles making it easier to visualize what is where.
* UI zooming and negative windows must get integrated into Gnome’s accessibility panels, they don’t belong to the main pref panel.

And of course, some bug fixes are important:
* Totem’s and VLC’s video screens don’t refresh when Beryl is used.
* Gnome’s Terminal simply refuses to resize up!
* Some GL windows don’t refresh the screen when moved around the screen.
* When placing a window at a specific space in the screen and then maximize that window, and then unmaximize it again, the window does not go back to its set place. Window placement still needs lots of work in Beryl.

I am pretty sure that some of Beryl’s developers won’t like the “dieting” of their efforts because let’s face it, they are in to Beryl for the fun of it. But point of the matter is, some distros are not just for the fun anymore. They have a vast userbase that comes from different backgrounds and they must offer them a UI that makes sense: that is not too overwhelming and not too boring either. This is why some case studies and usability tests must be done to determine default settings like e.g. “how much transparency is too much” or “how quickly a window must minimize” and then provide the accompanied effects for these settings as non-editable by the “consumer” version of the Beryl settings manager.

As with everything in life, usually the simplest or middle ground solutions are the best. I take that same point of view in technology too, so hopefully others will agree with me too. Maybe someone will agree so much that he/she will implement a limited-set but sane default Beryl configuration with the suggested UI for Gnome/KDE. That would be the day!

87 Comments

  1. 2007-03-20 2:14 am
    • 2007-03-20 2:26 am
      • 2007-03-20 3:29 am
        • 2007-03-20 3:47 am
          • 2007-03-20 8:29 pm
          • 2007-03-20 9:10 pm
  2. 2007-03-20 2:36 am
    • 2007-03-20 3:02 am
      • 2007-03-20 3:29 am
        • 2007-03-20 3:31 am
          • 2007-03-20 3:39 am
        • 2007-03-20 10:31 am
          • 2007-03-20 10:41 am
          • 2007-03-20 10:55 am
          • 2007-03-20 11:16 am
          • 2007-03-20 11:36 am
          • 2007-03-20 11:44 am
          • 2007-03-20 2:08 pm
          • 2007-03-20 3:01 pm
          • 2007-03-20 3:50 pm
          • 2007-03-20 8:24 pm
          • 2007-03-20 9:00 pm
          • 2007-03-20 3:02 pm
          • 2007-03-20 1:50 pm
          • 2007-03-20 1:53 pm
          • 2007-03-20 2:33 pm
      • 2007-03-20 1:45 pm
      • 2007-03-20 3:09 pm
    • 2007-03-20 3:05 am
      • 2007-03-20 3:06 am
        • 2007-03-20 3:36 am
    • 2007-03-20 3:30 am
    • 2007-03-21 4:58 pm
  3. 2007-03-20 2:57 am
  4. 2007-03-20 3:01 am
  5. 2007-03-20 3:26 am
    • 2007-03-20 4:04 am
      • 2007-03-20 4:06 am
    • 2007-03-20 2:18 pm
  6. 2007-03-20 3:28 am
    • 2007-03-20 3:30 am
      • 2007-03-20 3:37 am
      • 2007-03-20 5:11 am
  7. 2007-03-20 3:40 am
    • 2007-03-20 3:41 am
      • 2007-03-20 3:50 am
        • 2007-03-20 4:05 am
          • 2007-03-20 5:08 am
          • 2007-03-20 5:09 am
          • 2007-03-20 2:34 pm
          • 2007-03-20 1:55 pm
  8. 2007-03-20 5:14 am
  9. 2007-03-20 6:27 am
  10. 2007-03-20 6:55 am
  11. 2007-03-20 8:39 am
  12. 2007-03-20 8:42 am
    • 2007-03-20 9:17 am
      • 2007-03-20 9:56 am
      • 2007-03-20 12:08 pm
        • 2007-03-20 12:33 pm
        • 2007-03-20 12:49 pm
        • 2007-03-20 12:54 pm
        • 2007-03-20 2:19 pm
    • 2007-03-20 10:12 am
      • 2007-03-20 2:43 pm
      • 2007-03-26 7:14 am
        • 2007-03-26 11:12 am
    • 2007-03-21 8:44 pm
      • 2007-03-21 9:41 pm
  13. 2007-03-20 9:03 am
  14. 2007-03-20 10:25 am
    • 2007-03-20 10:33 am
  15. 2007-03-20 10:41 am
  16. 2007-03-20 11:40 am
  17. 2007-03-20 1:37 pm
  18. 2007-03-20 1:41 pm
    • 2007-03-20 2:52 pm
      • 2007-03-20 10:02 pm
        • 2007-03-21 1:13 pm
        • 2007-03-21 3:28 pm
  19. 2007-03-20 2:53 pm
    • 2007-03-20 3:22 pm
  20. 2007-03-20 3:26 pm
  21. 2007-03-20 3:32 pm
  22. 2007-03-20 3:37 pm