Tuesday, April 22, 2008

Compiz Predefined Levels

Everyone is back in the office so we are gearing up for deploying the 3D desktop with our thin clients. One issue that we have finalized is how many settings to allow our users to configure. The ccsm utility is great, but has way too many things that they can do to make their sessions work poorly. So what I did was build 4 settings; 1 for 2d and 3 for 3D. I then created a simple GUI with Glade (image below). This will allow a diverse group of settings that are all tested and QA'd by me in advance. This lock down feature will reduce calls to our support group.

9 comments:

SEJeff said...

Will you release the code?

Unknown said...

First glance looks cool, where can I get the source?

Anonymous said...

Maybe remove all the "No..." features from the lists, so it's more clear what each successive level offers.

The images could be more useful, too.

Anonymous said...

Is there a reason why translucent windows (one of the few truely useful compositing effects) has been relegated to Maximum?

Anonymous said...

Heh, skydome is intermediate and that's the only difference.

Right idea, but maybe the levels needs some thinking.

Oh, and all the "NO" entries looks pretty bad, better have a list of new features for each.

As a side note, "fastest possible" may well be lying to 95% of the population... those with a post 2000's gfx card.

Erick said...

That's kinda nice, but it doesn't scale at all. As time passes and more effects become available, you're up a creek. At some point, if it hasn't happened already, there will be user installable effects - how will you handle those?

Dave Richards said...

Lots of good comments. I should have spent more time explaining the evolution of this requirement. Answers:
- I agree about taking out the "No" entries. Those were kind of for me while figuring out the levels. It will look better with them removed.

- There really isn't any "code" to release. The Glade/Python script only displays a gui and returns back the button pressed on standard out. The ksh wrapper then does the rest.

- I am using the flat file backend, and so the settings are stored in the .config directory. I have created 3 tarballs with each of the setting levels, which are extracted when they log in. This will allow me to make global updates; they always get a fresh copy each day. I can change the GUI to reflect changing options. We won't let users download their own plugins, way too support intensive in business.

- The reason for the Intermediate step is because the Advanced settings were close to what people wanted except for 2 things. The common complaints were from mouse challenged users who were tripping the hot spots by accident and also moving their mouse to background windows which then became transparent. The lowest setting is for people that no frills and to just get started.

- 2D provides the fastest possible speed because some canvases used to connect to MS Windows (RDP and Citrix) really struggle with Compiz running. This is especially true with CAD and engineering software. I'm working on making them all kick into full screen and testing making use of the Compiz feature to drop out of 3D when the screen fills.

Always enjoy the food for thought.

Dread Knight said...

Looks great so far! :-)

Anonymous said...

I'd call the levels "Quality Levels":
low, medium, high, highest.

Then, I'd show the entire list on all four levels, but with checkboxes (or images) that show which features are enabled for each level.