<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#FFFFFF" bgcolor="#000000">
<font size="+1">Hey Luca,<br>
<br>
First of all - I like this plugin - the added functionality is
really nice and useful.<br>
<br>
A few suggestions:<br>
<br>
This plugin is not needed by others as far as I understand, so why
do you need the more complicated public ABI construction ?<br>
I do not really see the need for the MouseThemer class at all, and
MousethemeScreen can be constructed like this:<br>
<br>
class MousethemeScreen :<br>
public PluginClassHandler <MousethemeScreen,
CompScreen>,<br>
public MousethemeOptions<br>
<br>
class MousethemePluginVTable :<br>
public CompPlugin::VTableForScreen <MousethemeScreen><br>
<br>
mousetheme.cpp and mousetheme.h in /src should be able to do
enough magic, no ?<br>
<br>
availableThemesUpdate () and everythingUpdate () could then be
called on plugin start in the MousethemeScreen::MousethemeScreen
(CompScreen *screen) : ctor.<br>
<br>
The new functions in core could return bools and use better
logging like this:<br>
bool<br>
PrivateScreen::setNormalCursor (Cursor c)<br>
{<br>
if (c == None)<br>
{<br>
compLogMessage ("core", CompLogLevelWarn,<br>
"Preventing setting the normal mousecursor to "\<br>
"non-existent!");<br>
<br>
if (normalCursor == None)<br>
compLogMessage ("core", CompLogLevelError,<br>
"We currently do not have a normal mousecursor!");<br>
else<br>
compLogMessage ("core", CompLogLevelInfo,<br>
"Will continue to use the old normal
mousecursor.");<br>
<br>
return false; // failure<br>
}<br>
<br>
if (normalCursor != None)<br>
XFreeCursor (dpy, normalCursor);<br>
<br>
normalCursor = c;<br>
<br>
compLogMessage ("core", CompLogLevelInfo,<br>
"Successfully set a new normal mousecursor.");<br>
<br>
return true; // success<br>
}<br>
<br>
The new dependencies also require adding libboost-filesystem-dev
to the package deps in debian/control for packages to build with
mousetheme.<br>
<br>
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 ;)<br>
<br>
Greetinx,<br>
<br>
MC Return<br>
</font>
</body>
</html>