/* * 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 #include #include #include #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", "1150", 0, 0 }, { "windows_start", "int", "120", 0, 0 }, { "max_opacity", "int", "1100", 0, 0 }, { "min_opacity", "int", "1100", 0, 0 }, { "max_brightness", "int", "1100", 0, 0 }, { "min_brightness", "int", "1100", 0, 0 }, { "max_saturation", "int", "1100", 0, 0 }, { "min_saturation", "int", "1100", 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; }