/*
* This file is autogenerated with bcop:
* The Compiz option code generator
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <compiz.h>
#define _TRAILFOCUS_OPTIONS_INTERNAL
#include "trailfocus_options.h"
static int displayPrivateIndex;
static CompMetadata trailfocusOptionsMetadata;
static CompPluginVTable *trailfocusPluginVTable = NULL;
CompPluginVTable trailfocusOptionsVTable;
#define GET_TRAILFOCUS_OPTIONS_DISPLAY(d) \
((TrailfocusOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr)
#define TRAILFOCUS_OPTIONS_DISPLAY(d) \
TrailfocusOptionsDisplay *od = GET_TRAILFOCUS_OPTIONS_DISPLAY (d)
#define GET_TRAILFOCUS_OPTIONS_SCREEN(s, od) \
((TrailfocusOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr)
#define TRAILFOCUS_OPTIONS_SCREEN(s) \
TrailfocusOptionsScreen *os = GET_TRAILFOCUS_OPTIONS_SCREEN (s, GET_TRAILFOCUS_OPTIONS_DISPLAY (s->display))
typedef struct _TrailfocusOptionsDisplay
{
int screenPrivateIndex;
} TrailfocusOptionsDisplay;
typedef struct _TrailfocusOptionsScreen
{
CompOption opt[TrailfocusScreenOptionNum];
trailfocusScreenOptionChangeNotifyProc notify[TrailfocusScreenOptionNum];
} TrailfocusOptionsScreen;
CompMatch * trailfocusGetWindowMatch (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionWindowMatch].value.match;
}
CompOption * trailfocusGetWindowMatchOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionWindowMatch];
}
void trailfocusSetWindowMatchNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionWindowMatch] = notify;
}
int trailfocusGetWindowsCount (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return os->opt[TrailfocusScreenOptionWindowsCount].value.i;
}
CompOption * trailfocusGetWindowsCountOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionWindowsCount];
}
void trailfocusSetWindowsCountNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionWindowsCount] = notify;
}
int trailfocusGetWindowsStart (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return os->opt[TrailfocusScreenOptionWindowsStart].value.i;
}
CompOption * trailfocusGetWindowsStartOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionWindowsStart];
}
void trailfocusSetWindowsStartNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionWindowsStart] = notify;
}
int trailfocusGetMaxOpacity (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return os->opt[TrailfocusScreenOptionMaxOpacity].value.i;
}
CompOption * trailfocusGetMaxOpacityOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionMaxOpacity];
}
void trailfocusSetMaxOpacityNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionMaxOpacity] = notify;
}
int trailfocusGetMinOpacity (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return os->opt[TrailfocusScreenOptionMinOpacity].value.i;
}
CompOption * trailfocusGetMinOpacityOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionMinOpacity];
}
void trailfocusSetMinOpacityNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionMinOpacity] = notify;
}
int trailfocusGetMaxBrightness (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return os->opt[TrailfocusScreenOptionMaxBrightness].value.i;
}
CompOption * trailfocusGetMaxBrightnessOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionMaxBrightness];
}
void trailfocusSetMaxBrightnessNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionMaxBrightness] = notify;
}
int trailfocusGetMinBrightness (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return os->opt[TrailfocusScreenOptionMinBrightness].value.i;
}
CompOption * trailfocusGetMinBrightnessOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionMinBrightness];
}
void trailfocusSetMinBrightnessNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionMinBrightness] = notify;
}
int trailfocusGetMaxSaturation (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return os->opt[TrailfocusScreenOptionMaxSaturation].value.i;
}
CompOption * trailfocusGetMaxSaturationOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionMaxSaturation];
}
void trailfocusSetMaxSaturationNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionMaxSaturation] = notify;
}
int trailfocusGetMinSaturation (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return os->opt[TrailfocusScreenOptionMinSaturation].value.i;
}
CompOption * trailfocusGetMinSaturationOption (CompScreen *s)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[TrailfocusScreenOptionMinSaturation];
}
void trailfocusSetMinSaturationNotify (CompScreen *s, trailfocusScreenOptionChangeNotifyProc notify)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
os->notify[TrailfocusScreenOptionMinSaturation] = notify;
}
CompOption * trailfocusGetScreenOption (CompScreen *s, TrailfocusScreenOptions num)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
return &os->opt[num];
}
static const CompMetadataOptionInfo trailfocusOptionsScreenOptionInfo[] = {
{ "window_match", "match", 0, 0, 0 },
{ "windows_count", "int", "<min>1</min><max>150</max>", 0, 0 },
{ "windows_start", "int", "<min>1</min><max>20</max>", 0, 0 },
{ "max_opacity", "int", "<min>1</min><max>100</max>", 0, 0 },
{ "min_opacity", "int", "<min>1</min><max>100</max>", 0, 0 },
{ "max_brightness", "int", "<min>1</min><max>100</max>", 0, 0 },
{ "min_brightness", "int", "<min>1</min><max>100</max>", 0, 0 },
{ "max_saturation", "int", "<min>1</min><max>100</max>", 0, 0 },
{ "min_saturation", "int", "<min>1</min><max>100</max>", 0, 0 },
};
static Bool trailfocusOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
CompOption *o;
int index;
o = compFindOption (os->opt, TrailfocusScreenOptionNum, name, &index);
if (!o)
return FALSE;
switch (index)
{
case TrailfocusScreenOptionWindowMatch:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionWindowMatch])
(*os->notify[TrailfocusScreenOptionWindowMatch]) (s, o, TrailfocusScreenOptionWindowMatch);
return TRUE;
}
break;
case TrailfocusScreenOptionWindowsCount:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionWindowsCount])
(*os->notify[TrailfocusScreenOptionWindowsCount]) (s, o, TrailfocusScreenOptionWindowsCount);
return TRUE;
}
break;
case TrailfocusScreenOptionWindowsStart:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionWindowsStart])
(*os->notify[TrailfocusScreenOptionWindowsStart]) (s, o, TrailfocusScreenOptionWindowsStart);
return TRUE;
}
break;
case TrailfocusScreenOptionMaxOpacity:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionMaxOpacity])
(*os->notify[TrailfocusScreenOptionMaxOpacity]) (s, o, TrailfocusScreenOptionMaxOpacity);
return TRUE;
}
break;
case TrailfocusScreenOptionMinOpacity:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionMinOpacity])
(*os->notify[TrailfocusScreenOptionMinOpacity]) (s, o, TrailfocusScreenOptionMinOpacity);
return TRUE;
}
break;
case TrailfocusScreenOptionMaxBrightness:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionMaxBrightness])
(*os->notify[TrailfocusScreenOptionMaxBrightness]) (s, o, TrailfocusScreenOptionMaxBrightness);
return TRUE;
}
break;
case TrailfocusScreenOptionMinBrightness:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionMinBrightness])
(*os->notify[TrailfocusScreenOptionMinBrightness]) (s, o, TrailfocusScreenOptionMinBrightness);
return TRUE;
}
break;
case TrailfocusScreenOptionMaxSaturation:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionMaxSaturation])
(*os->notify[TrailfocusScreenOptionMaxSaturation]) (s, o, TrailfocusScreenOptionMaxSaturation);
return TRUE;
}
break;
case TrailfocusScreenOptionMinSaturation:
if (compSetScreenOption (s, o, value))
{
if (os->notify[TrailfocusScreenOptionMinSaturation])
(*os->notify[TrailfocusScreenOptionMinSaturation]) (s, o, TrailfocusScreenOptionMinSaturation);
return TRUE;
}
break;
default:
break;
}
return FALSE;
}
static CompOption * trailfocusOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count)
{
TRAILFOCUS_OPTIONS_SCREEN(s);
*count = TrailfocusScreenOptionNum;
return os->opt;
}
static Bool trailfocusOptionsInitScreen (CompPlugin *p, CompScreen *s)
{
TrailfocusOptionsScreen *os;
TRAILFOCUS_OPTIONS_DISPLAY (s->display);
os = calloc (1, sizeof(TrailfocusOptionsScreen));
if (!os)
return FALSE;
s->privates[od->screenPrivateIndex].ptr = os;
if (!compInitScreenOptionsFromMetadata (s, &trailfocusOptionsMetadata, trailfocusOptionsScreenOptionInfo, os->opt, TrailfocusScreenOptionNum))
{
free (os);
return FALSE;
}
if (trailfocusPluginVTable && trailfocusPluginVTable->initScreen)
return trailfocusPluginVTable->initScreen (p, s);
return TRUE;
}
static void trailfocusOptionsFiniScreen (CompPlugin *p, CompScreen *s)
{
if (trailfocusPluginVTable && trailfocusPluginVTable->finiScreen)
return trailfocusPluginVTable->finiScreen (p, s);
TRAILFOCUS_OPTIONS_SCREEN (s);
compFiniScreenOptions (s, os->opt, TrailfocusScreenOptionNum);
free (os);
}
static Bool trailfocusOptionsInitDisplay (CompPlugin *p, CompDisplay *d)
{
TrailfocusOptionsDisplay *od;
od = calloc (1, sizeof(TrailfocusOptionsDisplay));
if (!od)
return FALSE;
od->screenPrivateIndex = allocateScreenPrivateIndex(d);
if (od->screenPrivateIndex < 0)
{
free(od);
return FALSE;
}
d->privates[displayPrivateIndex].ptr = od;
if (trailfocusPluginVTable && trailfocusPluginVTable->initDisplay)
return trailfocusPluginVTable->initDisplay (p, d);
return TRUE;
}
static void trailfocusOptionsFiniDisplay (CompPlugin *p, CompDisplay *d)
{
if (trailfocusPluginVTable && trailfocusPluginVTable->finiDisplay)
return trailfocusPluginVTable->finiDisplay (p, d);
TRAILFOCUS_OPTIONS_DISPLAY (d);
freeScreenPrivateIndex(d, od->screenPrivateIndex);
free (od);
}
static Bool trailfocusOptionsInit (CompPlugin *p)
{
displayPrivateIndex = allocateDisplayPrivateIndex();
if (displayPrivateIndex < 0)
return FALSE;
if (!compInitPluginMetadataFromInfo (&trailfocusOptionsMetadata, "trailfocus",0, 0, trailfocusOptionsScreenOptionInfo, TrailfocusScreenOptionNum))
return FALSE;
compAddMetadataFromFile (&trailfocusOptionsMetadata, "trailfocus");
if (trailfocusPluginVTable && trailfocusPluginVTable->init)
return trailfocusPluginVTable->init (p);
return TRUE;
}
static void trailfocusOptionsFini (CompPlugin *p)
{
if (trailfocusPluginVTable && trailfocusPluginVTable->fini)
return trailfocusPluginVTable->fini (p);
if (displayPrivateIndex >= 0)
freeDisplayPrivateIndex(displayPrivateIndex);
compFiniMetadata (&trailfocusOptionsMetadata);
}
static CompMetadata *
trailfocusOptionsGetMetadata (CompPlugin *plugin)
{
return &trailfocusOptionsMetadata;
}
CompPluginVTable *getCompPluginInfo (void)
{
if (!trailfocusPluginVTable)
{
trailfocusPluginVTable = trailfocusOptionsGetCompPluginInfo ();
memcpy(&trailfocusOptionsVTable, trailfocusPluginVTable, sizeof(CompPluginVTable));
trailfocusOptionsVTable.getMetadata = trailfocusOptionsGetMetadata;
trailfocusOptionsVTable.init = trailfocusOptionsInit;
trailfocusOptionsVTable.fini = trailfocusOptionsFini;
trailfocusOptionsVTable.initDisplay = trailfocusOptionsInitDisplay;
trailfocusOptionsVTable.finiDisplay = trailfocusOptionsFiniDisplay;
trailfocusOptionsVTable.initScreen = trailfocusOptionsInitScreen;
trailfocusOptionsVTable.finiScreen = trailfocusOptionsFiniScreen;
trailfocusOptionsVTable.getScreenOptions = trailfocusOptionsGetScreenOptions;
trailfocusOptionsVTable.setScreenOption = trailfocusOptionsSetScreenOption;
}
return &trailfocusOptionsVTable;
}
syntax highlighted by Code2HTML, v. 0.9.1