[compiz] A mouse cursor theming plugin in Compiz

MC Return mc.return at gmx.net
Fri May 1 13:24:33 PDT 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/compiz/attachments/20150501/a30ad313/attachment.html>


More information about the compiz mailing list