“I think the Compiz guys and girls need to work hard on making ccsm more accessible, in such a way that it doesn’t require a degree in physics and geometry to figure out how it works.” -OSNews

In terms of CCSM, such a comment has always troubled me. Apart from graphical glitches and ‘pointless bling’, CCSM seems to be one of the main areas compiz is seen as ‘weak’. Of course, there is a point to which we need to know – are we doing it wrong, and what can we do to fix it.

A lot of the comments on CCSM come down to it’s sharp learning curve and learning the plugin-based configuration and not feature based.

Anyways, considering that we’ve been using CCSM for ages, all the developers find it incredibly easy – but we acknowledge that perhaps it is not as simple for newer users. So my question is this – what can we do to improve CCSM’s usability. What would make it make more sense? You are free to make any suggestions, however the only restriction we have so far is that it needs to be flexible over multiple plugins – i.e it should be consistent for every plugin as every plugin has it’s own metadata.


(On a side note, I thought I might share with you that my partner and I were selected to train with on the Western Australian Debating Legue State Squad of 2009, a prestigious recognition and certainly a fufillment of a long-term goal for myself)

Edit: Thanks for all the feedback, as far as I can see these are some of the things that need to be done (and are doable)

  • Remove plugin-centric view – make it feature centric (as best as possible) instead: I.e. for ‘cube’ just have ‘cube’ then everything that depends on it can be put inside the ‘cube’ page or group all the switchers into one? (Or make them plugin-plugins). Where this would really work is animation and elements – that way we can really separate it out into ‘engine’ plugins and have them all under animation/elements respectively.
  • Do something about window matching – make the match editor more obvious?
  • This wasn’t brought up,  but probably something done about actions – the same option  shouldn’t really repeat itself 3 times if it was to be triggered with a key, button and edge. All the bindings buttons should be one option for each actual option.
  • Add launchers for simple/medium CCSM
  • More GNOME-HIGness i.e not having close where back is.

28 thoughts on “CCSM

  1. the only thing that i think that needs to be done is the unification of many related plugins, if possible. for example, cube, cube rotate, cube reflection and deformation, cube 3d models, cube gears, atlantis, atlantis 2 etc etc are related yet they are different plugins.

    in case they can’t become one(as you said above), there should be an alternative way to see the ccsm, where there will be teams of related plugins. i don’t think that you should remove the existing way of seeing plugins, just add a related-plugins teaming system for new users, since older ones are too accustomed with the one we use these days

  2. I think you should start up a “compiz UI brainstorm” similar to GIMP’s UI brainstorm ( They have received excellent submissions during the time they’ve had it up and I think many mockup-creators would have excellent insights for y’all if you provide a venue for them.


  3. I’m not really a good UI designer that I can help you with most of the issues of CCSM, but there is one that I think is easy to fix.

    Just don’t put the “Back” button in the same place as the “Close” button!

    Whenever I click Back in a plugin’s configuration screen and I press the left mouse button twice (because it’s slow, or by accident, or whatever), then it closes the whole CCSM screen because it is replaces by the Close button! That’s undesirable – I don’t know whether such a Close button is even needed, but if it is, I believe it is convention to locate it to the right, or something. I don’t know, there’s probably something in the GNOME HIG about it 😉

    Anyway, don’t replace the Back button with the Close button.

  4. Some simple suggestion:
    1) Tell those, who think that currently ccsm is too advanced for them, to use simple-ccsm;
    2) Make a setting in ccsm like they use in Xine:
    configuration experience level:
    Depending on the level user chooses, just hide/unhide some settings; make beginner default.

  5. Take a look at recent kwin configurator. It allows to simply select which plugin to use for desktop swithcing, which one for windows switching and so on. Such simple configurator is great for users who have no degree of doctor at “managing compiz settings through ccsm”. Although as others said there should be simple mode and also advanced mode, so that advanced users are also happy having powerfull configurator.

  6. I agree with Tomas. If CCSM is too much for them, they can use simple-ccsm. If they complain that they want all the functionality, well, learn CCSM! I’m not a linux expert and I never had trouble learning CCSM. It’s not really that hard. But a second grader could use simple-ccsm.

  7. – The plugin structure doesn’t provide a clear view of different alternatives. For example, choosing between desktops on a plane and desktops on a cube should be presented as an either/or choice.

    – The plugins should not be all presented on an equal footing. Some plugins depend on others (their settings should be moved to sub-menus of those others), some clash with others (should be displayed as alternatives), and some are more important than others. Displaying all 76 plugins on the main screen is not very helpful.

    – The current categories could be a starting point to properly classify the settings, but e.g. “Image Loading” should be included elsewhere, while “Effects” and “Window management” all seem closely related, etc.

    – There are some plugins which offer the same particular functionality, and are thus incompatible, although they appear to server very different purposes (e.g., wobbly and snapping windows). CCSM should be smart and treat the common functionality independently, e.g. having a checkbox for snapping windows, and applying the setting in wobbly or in snapping windows as appropriate.

    This is not to say that CCSM is rubbish; I find it very powerful and consistent with its design principles. But the plugin-centric point of view is good for developers, not for end users.

  8. I’ve read about simple-ccsm in the comments and this tool seems to be great. Would be greate to have it integrated into main ccsm under “simple” tab.

  9. Especially the window rules are quite confusing. It’s impossible to integrate an appopriate explanation for them into a tooltip so maybe there could be info buttons that open a popup window with help on options that are not that clear.

  10. I think pablomme said it best. CCSM certainly can use some some cleaning. Also like the xine-like ideas. Maybe it could be a way to merge CCSM and simple-CCSM.

    Ex-Amiga users will remember how MUI’s settings became completely insane.

  11. I have been using CCSM for about a year now, and still find it a bit daunting. In my defense I really don’t spend much time in there, just edit my setting and leave.

    1. The long list of plug-ins (ALL) is overwhelming at first, drop that at the default, and put it at the bottom. I really like the idea of ‘plugin-plugins’. Of course it needs a better name, but it would help greatly in removing extra crud that I don’t care about. When I click on 3D-Windows it pops up saying it needs to do this and that.. I get confused, don’t feel like fucking things up and quit it.

    2. A single location listing all hot keys would come in *very* handy. I don’t know half the stuff that available to be, browsing the hot-keys and trying some of it out would be great.

    3. A short description about what the plugins do besides a repeat of the title would be good too. I still don’t know what half this stuff is. Blur Windows, Bicubic Filter, Wallpaper? What is this stuff? Why would I want Compiz to draw my wallpaper over Gnome?

    1. the gnome wallpaper is capped at 2048×2048 when compiz is enabled. in such cases (multi display) one needs to disable the gnome wallpaper display, and render wallpaper from compiz.

  12. I have to agree with the couple of users that mentioned better descriptions above.

    Better/clearer descriptions next to each plug-in so that it is easily identifiable what each plug-in does.

    Otherwise, CCSM is incredibly flexible and powerful, and that I guess is the point, it just takes too long figuring out what each plugin doesn and trying to match the stuff I’ve seen demoed (but i dont know the names of) with the bizarre plugin names that they have.

  13. Button animations for plugins could certainly help newcomers find oddly named effects. I know I looked for a while before I found transparency settings.

    An interactive preview window would be great to help people see what their changes translate to immediately. It makes working with advanced settings more tangible. Sorta like the lightbulb when you adjust double-click speed.

    Probably the easiest way for people to start the learning curve would be a wizard that takes them through the most common features, let’s them preview each, opt in or out, adjust 2 or 3 primary settings, and finally save the profile before bringing them to home screen.

    And for crying out loud, add a checkbox on trailfocus for 100% opacity on fullscreen.

  14. The UI is quite nice and well done ! If it didn’t had so many option, people will complain and start command line tutorials.

    What about themes ?
    You download a theme from somewhere and it sets for you a bunch of settings and activates a this or that plugin.
    That would be pretty cool and may even be integrated in the Gnome themes.

  15. @pablomme: You’ve said it. CCSM is great for developers and software enthusiasts who love to try the most recent plugins. Plugin oriented settings are just perfect for the developing nature of compiz. The rest of the world finds it consufing.

    It’s not about changing CCSM, it’s about creating a new feature based end-user oriented config tool.

    Now, simple-ccsm and whatever ubuntu uses are clearly not the right answers since they’ve been there for a while and people still wishes ccsm would be simpler because they don’t like the stupid-simple approach either.

  16. I know… we should ditch CCSM for something like a Compiz Registry. Oh wait… gconf-editor is there already.

    I say CCSM is nice as it is. Come on, if this is all about user-friendliness, then you’re bound to get subjective answers. Vim and emacs have arcane user interfaces to one who’s used to notepad, but undoubtedly, they’re far superior to it.

    IMO changing CCSM to a feature-based settings manager would seriously break or complicate things. There are many plug-ins whose features overlap or conflict. Shelf and freewins are an example. They provide the “scale windows feature” (in addition to freewins’ rotate). A better example would be Expo, Desktop Wall and Desktop Cube. On a single monitor, Expo acts like Desktop Wall and Desktop Cube, yet it can coexist with the last two. Desktop Wall and Desktop Cube on the other hand can not be both active at the same time.

    Perhaps a plugin-in-plugin approach would improve CCSM. Like 3D Windows should go as a tab/option/whatever in Desktop Cube instead of another plug-in. Or maybe make 3D Windows and the like a part of Desktop Cube. Activateable by a checkbox maybe.

  17. Now that’s a fallacy in thinking if I’ve ever heard one:

    “I say CCSM is nice as it is. Come on, if this is all about user-friendliness, then you’re bound to get subjective answers.”

    Saying that we shouldn’t improve usability because it’s inherently subjective is, without a doubt, the absolutely wrong way to go about developing software.

    Firstly, usability isn’t completely subjective, usability can be quantified with field studies and research. Secondly, even if it was as subjective as say, artwork is, we all know how good artwork can attract users.


  18. One thing I have found, being asked by a lot of people new to compiz, is the cube. When the cube is enabled, it should enable the “rotate cube” plugin. It happens the other way around, but not that way.

    What use is the cube without the rotate cube plugin?

    Also, the default number of desktops probably might be better at being 4. Not sure if this is anything to do with CCSM or not, but still. Those are the 2 biggest questions I’ve had from people. “Why can’t I move the cube” and “It only has 2 sides”

  19. It would help if CCSM actually did anything.. doesn’t matter what you try, you can’t possibly get out of the default settings. Not gconf, not ini, nothing. Kindof like gnome’s removal of gdmsetup, eh?

  20. Having a “nested” system of sub-plugins would be much more compatible with the new user’s learning curve. A “Desktop Cube” plugin with either tabs or icons referencing sub-plugins. (“Expo” could include “Desktop Cube” and “Desktop Wall” as tabs, either only showing the active one, or with the inactive one greyed out. With both of these plugins also accessible separately from a more logical hierarchical location.) To avoid nesting plugin tabs within themselves, choosing a tab already in use in an open plugin should switch the user to the open instance of that tab.
    Tabs could be tagged for a keyword search.
    WM Agnostic themeing should be implemented as a separate plugin of its own.
    An optional 1st run wizard/tutorial would be awesome for the new user.
    Animated menus, icons, and screen-shots should be an available option for the end-user, but should be easy to turn off.
    I wouldn’t propose doing away with CCSM as it exists now, but rather reclassify it as an “expanded” view, with maybe some more unified groupings.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s