Hey Luca,

First of all - I like this plugin - the added functionality is really nice and useful.

A few suggestions:

This plugin is not needed by others as far as I understand, so why do you need the more complicated public ABI construction ? I do not really see the need for the MouseThemer class at all, and MousethemeScreen can be constructed like this:

class MousethemeScreen :
    public PluginClassHandler <MousethemeScreen, CompScreen>,
    public MousethemeOptions

class MousethemePluginVTable :
    public CompPlugin::VTableForScreen <MousethemeScreen>

mousetheme.cpp and mousetheme.h in /src should be able to do enough magic, no ?

availableThemesUpdate () and everythingUpdate () could then be called on plugin start in the MousethemeScreen::MousethemeScreen (CompScreen *screen) : ctor.

The new functions in core could return bools and use better logging like this:
bool
PrivateScreen::setNormalCursor (Cursor c)
{
    if (c == None)
    {
    compLogMessage ("core", CompLogLevelWarn,
            "Preventing setting the normal mousecursor to "\
            "non-existent!");

    if (normalCursor == None)
        compLogMessage ("core", CompLogLevelError,
                "We currently do not have a normal mousecursor!");
    else
        compLogMessage ("core", CompLogLevelInfo,
                "Will continue to use the old normal mousecursor.");

    return false;    // failure
    }

    if (normalCursor != None)
    XFreeCursor (dpy, normalCursor);

    normalCursor = c;

    compLogMessage ("core", CompLogLevelInfo,
            "Successfully set a new normal mousecursor.");

    return true;    // success
}

The new dependencies also require adding libboost-filesystem-dev to the package deps in debian/control for packages to build with mousetheme.

Regarding hidden settings: AFAIK action type settings are hidden in CCSM, so I am sure it might be possible with some hacking, but I agree that the mousetheme problem is a very special case ;)

Greetinx,

MC Return
_______________________________________________
compiz mailing list
compiz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/compiz

Reply via email to