/* * 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 _GROUP_OPTIONS_INTERNAL #include "group_options.h" static int displayPrivateIndex; static CompMetadata groupOptionsMetadata; static CompPluginVTable *groupPluginVTable = NULL; CompPluginVTable groupOptionsVTable; #define GET_GROUP_OPTIONS_DISPLAY(d) \ ((GroupOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) #define GROUP_OPTIONS_DISPLAY(d) \ GroupOptionsDisplay *od = GET_GROUP_OPTIONS_DISPLAY (d) #define GET_GROUP_OPTIONS_SCREEN(s, od) \ ((GroupOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) #define GROUP_OPTIONS_SCREEN(s) \ GroupOptionsScreen *os = GET_GROUP_OPTIONS_SCREEN (s, GET_GROUP_OPTIONS_DISPLAY (s->display)) typedef struct _GroupOptionsDisplay { int screenPrivateIndex; CompOption opt[GroupDisplayOptionNum]; groupDisplayOptionChangeNotifyProc notify[GroupDisplayOptionNum]; } GroupOptionsDisplay; typedef struct _GroupOptionsScreen { CompOption opt[GroupScreenOptionNum]; groupScreenOptionChangeNotifyProc notify[GroupScreenOptionNum]; } GroupOptionsScreen; CompAction * groupGetSelect (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionSelect].value.action; } void groupSetSelectInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionSelect].value.action.initiate = init; } void groupSetSelectTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionSelect].value.action.terminate = term; } CompOption * groupGetSelectOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionSelect]; } void groupSetSelectNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionSelect] = notify; } CompAction * groupGetSelectSingle (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionSelectSingle].value.action; } void groupSetSelectSingleInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionSelectSingle].value.action.initiate = init; } void groupSetSelectSingleTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionSelectSingle].value.action.terminate = term; } CompOption * groupGetSelectSingleOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionSelectSingle]; } void groupSetSelectSingleNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionSelectSingle] = notify; } CompAction * groupGetGroup (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionGroup].value.action; } void groupSetGroupInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionGroup].value.action.initiate = init; } void groupSetGroupTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionGroup].value.action.terminate = term; } CompOption * groupGetGroupOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionGroup]; } void groupSetGroupNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionGroup] = notify; } CompAction * groupGetUngroup (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionUngroup].value.action; } void groupSetUngroupInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionUngroup].value.action.initiate = init; } void groupSetUngroupTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionUngroup].value.action.terminate = term; } CompOption * groupGetUngroupOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionUngroup]; } void groupSetUngroupNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionUngroup] = notify; } CompAction * groupGetRemove (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionRemove].value.action; } void groupSetRemoveInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionRemove].value.action.initiate = init; } void groupSetRemoveTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionRemove].value.action.terminate = term; } CompOption * groupGetRemoveOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionRemove]; } void groupSetRemoveNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionRemove] = notify; } CompAction * groupGetClose (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionClose].value.action; } void groupSetCloseInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionClose].value.action.initiate = init; } void groupSetCloseTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionClose].value.action.terminate = term; } CompOption * groupGetCloseOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionClose]; } void groupSetCloseNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionClose] = notify; } CompAction * groupGetIgnore (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionIgnore].value.action; } void groupSetIgnoreInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionIgnore].value.action.initiate = init; } void groupSetIgnoreTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionIgnore].value.action.terminate = term; } CompOption * groupGetIgnoreOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionIgnore]; } void groupSetIgnoreNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionIgnore] = notify; } CompAction * groupGetTabmode (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionTabmode].value.action; } void groupSetTabmodeInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionTabmode].value.action.initiate = init; } void groupSetTabmodeTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionTabmode].value.action.terminate = term; } CompOption * groupGetTabmodeOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionTabmode]; } void groupSetTabmodeNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionTabmode] = notify; } CompAction * groupGetChangeTabLeft (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionChangeTabLeft].value.action; } void groupSetChangeTabLeftInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionChangeTabLeft].value.action.initiate = init; } void groupSetChangeTabLeftTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionChangeTabLeft].value.action.terminate = term; } CompOption * groupGetChangeTabLeftOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionChangeTabLeft]; } void groupSetChangeTabLeftNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionChangeTabLeft] = notify; } CompAction * groupGetChangeTabRight (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionChangeTabRight].value.action; } void groupSetChangeTabRightInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionChangeTabRight].value.action.initiate = init; } void groupSetChangeTabRightTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionChangeTabRight].value.action.terminate = term; } CompOption * groupGetChangeTabRightOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionChangeTabRight]; } void groupSetChangeTabRightNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionChangeTabRight] = notify; } CompAction * groupGetChangeColor (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionChangeColor].value.action; } void groupSetChangeColorInitiate (CompDisplay *d, CompActionCallBackProc init) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionChangeColor].value.action.initiate = init; } void groupSetChangeColorTerminate (CompDisplay *d, CompActionCallBackProc term) { GROUP_OPTIONS_DISPLAY(d); od->opt[GroupDisplayOptionChangeColor].value.action.terminate = term; } CompOption * groupGetChangeColorOption (CompDisplay *d) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[GroupDisplayOptionChangeColor]; } void groupSetChangeColorNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify) { GROUP_OPTIONS_DISPLAY(d); od->notify[GroupDisplayOptionChangeColor] = notify; } Bool groupGetMoveAll (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionMoveAll].value.b; } CompOption * groupGetMoveAllOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionMoveAll]; } void groupSetMoveAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionMoveAll] = notify; } Bool groupGetResizeAll (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionResizeAll].value.b; } CompOption * groupGetResizeAllOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionResizeAll]; } void groupSetResizeAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionResizeAll] = notify; } Bool groupGetRaiseAll (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionRaiseAll].value.b; } CompOption * groupGetRaiseAllOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionRaiseAll]; } void groupSetRaiseAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionRaiseAll] = notify; } Bool groupGetMaximizeUnmaximizeAll (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionMaximizeUnmaximizeAll].value.b; } CompOption * groupGetMaximizeUnmaximizeAllOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionMaximizeUnmaximizeAll]; } void groupSetMaximizeUnmaximizeAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionMaximizeUnmaximizeAll] = notify; } Bool groupGetMinimizeAll (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionMinimizeAll].value.b; } CompOption * groupGetMinimizeAllOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionMinimizeAll]; } void groupSetMinimizeAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionMinimizeAll] = notify; } Bool groupGetShadeAll (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionShadeAll].value.b; } CompOption * groupGetShadeAllOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionShadeAll]; } void groupSetShadeAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionShadeAll] = notify; } Bool groupGetAutoGroup (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionAutoGroup].value.b; } CompOption * groupGetAutoGroupOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionAutoGroup]; } void groupSetAutoGroupNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionAutoGroup] = notify; } Bool groupGetAutoUngroup (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionAutoUngroup].value.b; } CompOption * groupGetAutoUngroupOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionAutoUngroup]; } void groupSetAutoUngroupNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionAutoUngroup] = notify; } CompMatch * groupGetWindowMatch (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionWindowMatch].value.match; } CompOption * groupGetWindowMatchOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionWindowMatch]; } void groupSetWindowMatchNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionWindowMatch] = notify; } int groupGetSelectOpacity (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionSelectOpacity].value.i; } CompOption * groupGetSelectOpacityOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionSelectOpacity]; } void groupSetSelectOpacityNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionSelectOpacity] = notify; } int groupGetSelectSaturation (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionSelectSaturation].value.i; } CompOption * groupGetSelectSaturationOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionSelectSaturation]; } void groupSetSelectSaturationNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionSelectSaturation] = notify; } int groupGetSelectBrightness (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionSelectBrightness].value.i; } CompOption * groupGetSelectBrightnessOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionSelectBrightness]; } void groupSetSelectBrightnessNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionSelectBrightness] = notify; } int groupGetSelectPrecision (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionSelectPrecision].value.i; } CompOption * groupGetSelectPrecisionOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionSelectPrecision]; } void groupSetSelectPrecisionNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionSelectPrecision] = notify; } unsigned short * groupGetFillColor (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionFillColor].value.c; } unsigned short groupGetFillColorRed (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionFillColor].value.c[0]; } unsigned short groupGetFillColorGreen (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionFillColor].value.c[1]; } unsigned short groupGetFillColorBlue (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionFillColor].value.c[2]; } unsigned short groupGetFillColorAlpha (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionFillColor].value.c[3]; } CompOption * groupGetFillColorOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionFillColor]; } void groupSetFillColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionFillColor] = notify; } unsigned short * groupGetLineColor (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionLineColor].value.c; } unsigned short groupGetLineColorRed (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionLineColor].value.c[0]; } unsigned short groupGetLineColorGreen (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionLineColor].value.c[1]; } unsigned short groupGetLineColorBlue (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionLineColor].value.c[2]; } unsigned short groupGetLineColorAlpha (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionLineColor].value.c[3]; } CompOption * groupGetLineColorOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionLineColor]; } void groupSetLineColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionLineColor] = notify; } Bool groupGetMipmaps (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionMipmaps].value.b; } CompOption * groupGetMipmapsOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionMipmaps]; } void groupSetMipmapsNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionMipmaps] = notify; } Bool groupGetUntabOnClose (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionUntabOnClose].value.b; } CompOption * groupGetUntabOnCloseOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionUntabOnClose]; } void groupSetUntabOnCloseNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionUntabOnClose] = notify; } Bool groupGetAutotabCreate (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionAutotabCreate].value.b; } CompOption * groupGetAutotabCreateOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionAutotabCreate]; } void groupSetAutotabCreateNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionAutotabCreate] = notify; } float groupGetTabbarShowDelay (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbarShowDelay].value.f; } CompOption * groupGetTabbarShowDelayOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabbarShowDelay]; } void groupSetTabbarShowDelayNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabbarShowDelay] = notify; } float groupGetTabbingSpeed (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbingSpeed].value.f; } CompOption * groupGetTabbingSpeedOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabbingSpeed]; } void groupSetTabbingSpeedNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabbingSpeed] = notify; } float groupGetTabbingTimestep (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbingTimestep].value.f; } CompOption * groupGetTabbingTimestepOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabbingTimestep]; } void groupSetTabbingTimestepNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabbingTimestep] = notify; } float groupGetFadeTime (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionFadeTime].value.f; } CompOption * groupGetFadeTimeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionFadeTime]; } void groupSetFadeTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionFadeTime] = notify; } float groupGetPulseTime (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionPulseTime].value.f; } CompOption * groupGetPulseTimeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionPulseTime]; } void groupSetPulseTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionPulseTime] = notify; } float groupGetReflexTime (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionReflexTime].value.f; } CompOption * groupGetReflexTimeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionReflexTime]; } void groupSetReflexTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionReflexTime] = notify; } float groupGetFadeTextTime (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionFadeTextTime].value.f; } CompOption * groupGetFadeTextTimeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionFadeTextTime]; } void groupSetFadeTextTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionFadeTextTime] = notify; } float groupGetVisibilityTime (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionVisibilityTime].value.f; } CompOption * groupGetVisibilityTimeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionVisibilityTime]; } void groupSetVisibilityTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionVisibilityTime] = notify; } float groupGetChangeAnimationTime (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionChangeAnimationTime].value.f; } CompOption * groupGetChangeAnimationTimeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionChangeAnimationTime]; } void groupSetChangeAnimationTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionChangeAnimationTime] = notify; } Bool groupGetBarAnimations (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionBarAnimations].value.b; } CompOption * groupGetBarAnimationsOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionBarAnimations]; } void groupSetBarAnimationsNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionBarAnimations] = notify; } int groupGetThumbSize (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionThumbSize].value.i; } CompOption * groupGetThumbSizeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionThumbSize]; } void groupSetThumbSizeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionThumbSize] = notify; } int groupGetThumbSpace (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionThumbSpace].value.i; } CompOption * groupGetThumbSpaceOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionThumbSpace]; } void groupSetThumbSpaceNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionThumbSpace] = notify; } int groupGetBorderRadius (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionBorderRadius].value.i; } CompOption * groupGetBorderRadiusOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionBorderRadius]; } void groupSetBorderRadiusNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionBorderRadius] = notify; } int groupGetBorderWidth (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionBorderWidth].value.i; } CompOption * groupGetBorderWidthOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionBorderWidth]; } void groupSetBorderWidthNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionBorderWidth] = notify; } unsigned short * groupGetTabBaseColor (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBaseColor].value.c; } unsigned short groupGetTabBaseColorRed (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBaseColor].value.c[0]; } unsigned short groupGetTabBaseColorGreen (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBaseColor].value.c[1]; } unsigned short groupGetTabBaseColorBlue (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBaseColor].value.c[2]; } unsigned short groupGetTabBaseColorAlpha (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBaseColor].value.c[3]; } CompOption * groupGetTabBaseColorOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabBaseColor]; } void groupSetTabBaseColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabBaseColor] = notify; } unsigned short * groupGetTabBorderColor (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBorderColor].value.c; } unsigned short groupGetTabBorderColorRed (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBorderColor].value.c[0]; } unsigned short groupGetTabBorderColorGreen (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBorderColor].value.c[1]; } unsigned short groupGetTabBorderColorBlue (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBorderColor].value.c[2]; } unsigned short groupGetTabBorderColorAlpha (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabBorderColor].value.c[3]; } CompOption * groupGetTabBorderColorOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabBorderColor]; } void groupSetTabBorderColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabBorderColor] = notify; } unsigned short * groupGetTabHighlightColor (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabHighlightColor].value.c; } unsigned short groupGetTabHighlightColorRed (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabHighlightColor].value.c[0]; } unsigned short groupGetTabHighlightColorGreen (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabHighlightColor].value.c[1]; } unsigned short groupGetTabHighlightColorBlue (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabHighlightColor].value.c[2]; } unsigned short groupGetTabHighlightColorAlpha (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabHighlightColor].value.c[3]; } CompOption * groupGetTabHighlightColorOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabHighlightColor]; } void groupSetTabHighlightColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabHighlightColor] = notify; } int groupGetTabStyle (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabStyle].value.i; } CompOption * groupGetTabStyleOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabStyle]; } void groupSetTabStyleNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabStyle] = notify; } int groupGetTabbarFontSize (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbarFontSize].value.i; } CompOption * groupGetTabbarFontSizeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabbarFontSize]; } void groupSetTabbarFontSizeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabbarFontSize] = notify; } unsigned short * groupGetTabbarFontColor (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbarFontColor].value.c; } unsigned short groupGetTabbarFontColorRed (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbarFontColor].value.c[0]; } unsigned short groupGetTabbarFontColorGreen (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbarFontColor].value.c[1]; } unsigned short groupGetTabbarFontColorBlue (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbarFontColor].value.c[2]; } unsigned short groupGetTabbarFontColorAlpha (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionTabbarFontColor].value.c[3]; } CompOption * groupGetTabbarFontColorOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionTabbarFontColor]; } void groupSetTabbarFontColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionTabbarFontColor] = notify; } Bool groupGetSpringModelOnMove (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionSpringModelOnMove].value.b; } CompOption * groupGetSpringModelOnMoveOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionSpringModelOnMove]; } void groupSetSpringModelOnMoveNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionSpringModelOnMove] = notify; } Bool groupGetDndUngroupWindow (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionDndUngroupWindow].value.b; } CompOption * groupGetDndUngroupWindowOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionDndUngroupWindow]; } void groupSetDndUngroupWindowNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionDndUngroupWindow] = notify; } float groupGetDragHoverTime (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionDragHoverTime].value.f; } CompOption * groupGetDragHoverTimeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionDragHoverTime]; } void groupSetDragHoverTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionDragHoverTime] = notify; } float groupGetDragSpringK (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionDragSpringK].value.f; } CompOption * groupGetDragSpringKOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionDragSpringK]; } void groupSetDragSpringKNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionDragSpringK] = notify; } float groupGetDragFriction (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionDragFriction].value.f; } CompOption * groupGetDragFrictionOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionDragFriction]; } void groupSetDragFrictionNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionDragFriction] = notify; } int groupGetDragYDistance (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionDragYDistance].value.i; } CompOption * groupGetDragYDistanceOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionDragYDistance]; } void groupSetDragYDistanceNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionDragYDistance] = notify; } int groupGetDragSpeedLimit (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionDragSpeedLimit].value.i; } CompOption * groupGetDragSpeedLimitOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionDragSpeedLimit]; } void groupSetDragSpeedLimitNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionDragSpeedLimit] = notify; } Bool groupGetGlow (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionGlow].value.b; } CompOption * groupGetGlowOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionGlow]; } void groupSetGlowNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionGlow] = notify; } int groupGetGlowSize (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionGlowSize].value.i; } CompOption * groupGetGlowSizeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionGlowSize]; } void groupSetGlowSizeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionGlowSize] = notify; } int groupGetGlowType (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return os->opt[GroupScreenOptionGlowType].value.i; } CompOption * groupGetGlowTypeOption (CompScreen *s) { GROUP_OPTIONS_SCREEN(s); return &os->opt[GroupScreenOptionGlowType]; } void groupSetGlowTypeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify) { GROUP_OPTIONS_SCREEN(s); os->notify[GroupScreenOptionGlowType] = notify; } CompOption * groupGetDisplayOption (CompDisplay *d, GroupDisplayOptions num) { GROUP_OPTIONS_DISPLAY(d); return &od->opt[num]; } CompOption * groupGetScreenOption (CompScreen *s, GroupScreenOptions num) { GROUP_OPTIONS_SCREEN(s); return &os->opt[num]; } static const CompMetadataOptionInfo groupOptionsDisplayOptionInfo[] = { { "select", "action", 0, 0, 0 }, { "select_single", "action", 0, 0, 0 }, { "group", "action", 0, 0, 0 }, { "ungroup", "action", 0, 0, 0 }, { "remove", "action", 0, 0, 0 }, { "close", "action", 0, 0, 0 }, { "ignore", "action", 0, 0, 0 }, { "tabmode", "action", 0, 0, 0 }, { "change_tab_left", "action", 0, 0, 0 }, { "change_tab_right", "action", 0, 0, 0 }, { "change_color", "action", 0, 0, 0 }, }; static Bool groupOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) { GROUP_OPTIONS_DISPLAY(d); CompOption *o; int index; o = compFindOption (od->opt, GroupDisplayOptionNum, name, &index); if (!o) return FALSE; switch (index) { case GroupDisplayOptionSelect: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionSelect]) (*od->notify[GroupDisplayOptionSelect]) (d, o, GroupDisplayOptionSelect); return TRUE; } break; case GroupDisplayOptionSelectSingle: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionSelectSingle]) (*od->notify[GroupDisplayOptionSelectSingle]) (d, o, GroupDisplayOptionSelectSingle); return TRUE; } break; case GroupDisplayOptionGroup: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionGroup]) (*od->notify[GroupDisplayOptionGroup]) (d, o, GroupDisplayOptionGroup); return TRUE; } break; case GroupDisplayOptionUngroup: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionUngroup]) (*od->notify[GroupDisplayOptionUngroup]) (d, o, GroupDisplayOptionUngroup); return TRUE; } break; case GroupDisplayOptionRemove: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionRemove]) (*od->notify[GroupDisplayOptionRemove]) (d, o, GroupDisplayOptionRemove); return TRUE; } break; case GroupDisplayOptionClose: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionClose]) (*od->notify[GroupDisplayOptionClose]) (d, o, GroupDisplayOptionClose); return TRUE; } break; case GroupDisplayOptionIgnore: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionIgnore]) (*od->notify[GroupDisplayOptionIgnore]) (d, o, GroupDisplayOptionIgnore); return TRUE; } break; case GroupDisplayOptionTabmode: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionTabmode]) (*od->notify[GroupDisplayOptionTabmode]) (d, o, GroupDisplayOptionTabmode); return TRUE; } break; case GroupDisplayOptionChangeTabLeft: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionChangeTabLeft]) (*od->notify[GroupDisplayOptionChangeTabLeft]) (d, o, GroupDisplayOptionChangeTabLeft); return TRUE; } break; case GroupDisplayOptionChangeTabRight: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionChangeTabRight]) (*od->notify[GroupDisplayOptionChangeTabRight]) (d, o, GroupDisplayOptionChangeTabRight); return TRUE; } break; case GroupDisplayOptionChangeColor: if (compSetDisplayOption (d, o, value)) { if (od->notify[GroupDisplayOptionChangeColor]) (*od->notify[GroupDisplayOptionChangeColor]) (d, o, GroupDisplayOptionChangeColor); return TRUE; } break; default: break; } return FALSE; } static CompOption * groupOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) { GROUP_OPTIONS_DISPLAY(d); *count = GroupDisplayOptionNum; return od->opt; } static const CompMetadataOptionInfo groupOptionsScreenOptionInfo[] = { { "move_all", "bool", 0, 0, 0 }, { "resize_all", "bool", 0, 0, 0 }, { "raise_all", "bool", 0, 0, 0 }, { "maximize_unmaximize_all", "bool", 0, 0, 0 }, { "minimize_all", "bool", 0, 0, 0 }, { "shade_all", "bool", 0, 0, 0 }, { "auto_group", "bool", 0, 0, 0 }, { "auto_ungroup", "bool", 0, 0, 0 }, { "window_match", "match", 0, 0, 0 }, { "select_opacity", "int", "0100", 0, 0 }, { "select_saturation", "int", "0100", 0, 0 }, { "select_brightness", "int", "0100", 0, 0 }, { "select_precision", "int", "1100", 0, 0 }, { "fill_color", "color", 0, 0, 0 }, { "line_color", "color", 0, 0, 0 }, { "mipmaps", "bool", 0, 0, 0 }, { "untab_on_close", "bool", 0, 0, 0 }, { "autotab_create", "bool", 0, 0, 0 }, { "tabbar_show_delay", "float", "0.010.0", 0, 0 }, { "tabbing_speed", "float", "0.150.0", 0, 0 }, { "tabbing_timestep", "float", "0.150.0", 0, 0 }, { "fade_time", "float", "0.05.0", 0, 0 }, { "pulse_time", "float", "0.05.0", 0, 0 }, { "reflex_time", "float", "0.05.0", 0, 0 }, { "fade_text_time", "float", "0.05.0", 0, 0 }, { "visibility_time", "float", "0.010.0", 0, 0 }, { "change_animation_time", "float", "0.05.0", 0, 0 }, { "bar_animations", "bool", 0, 0, 0 }, { "thumb_size", "int", "16256", 0, 0 }, { "thumb_space", "int", "120", 0, 0 }, { "border_radius", "int", "120", 0, 0 }, { "border_width", "int", "15", 0, 0 }, { "tab_base_color", "color", 0, 0, 0 }, { "tab_border_color", "color", 0, 0, 0 }, { "tab_highlight_color", "color", 0, 0, 0 }, { "tab_style", "int", "04", 0, 0 }, { "tabbar_font_size", "int", "624", 0, 0 }, { "tabbar_font_color", "color", 0, 0, 0 }, { "spring_model_on_move", "bool", 0, 0, 0 }, { "dnd_ungroup_window", "bool", 0, 0, 0 }, { "drag_hover_time", "float", "0.05.0", 0, 0 }, { "drag_spring_k", "float", "0.130.0", 0, 0 }, { "drag_friction", "float", "0.1100.0", 0, 0 }, { "drag_y_distance", "int", "102500", 0, 0 }, { "drag_speed_limit", "int", "02000", 0, 0 }, { "glow", "bool", 0, 0, 0 }, { "glow_size", "int", "1300", 0, 0 }, { "glow_type", "int", "01", 0, 0 }, }; static Bool groupOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) { GROUP_OPTIONS_SCREEN(s); CompOption *o; int index; o = compFindOption (os->opt, GroupScreenOptionNum, name, &index); if (!o) return FALSE; switch (index) { case GroupScreenOptionMoveAll: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionMoveAll]) (*os->notify[GroupScreenOptionMoveAll]) (s, o, GroupScreenOptionMoveAll); return TRUE; } break; case GroupScreenOptionResizeAll: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionResizeAll]) (*os->notify[GroupScreenOptionResizeAll]) (s, o, GroupScreenOptionResizeAll); return TRUE; } break; case GroupScreenOptionRaiseAll: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionRaiseAll]) (*os->notify[GroupScreenOptionRaiseAll]) (s, o, GroupScreenOptionRaiseAll); return TRUE; } break; case GroupScreenOptionMaximizeUnmaximizeAll: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionMaximizeUnmaximizeAll]) (*os->notify[GroupScreenOptionMaximizeUnmaximizeAll]) (s, o, GroupScreenOptionMaximizeUnmaximizeAll); return TRUE; } break; case GroupScreenOptionMinimizeAll: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionMinimizeAll]) (*os->notify[GroupScreenOptionMinimizeAll]) (s, o, GroupScreenOptionMinimizeAll); return TRUE; } break; case GroupScreenOptionShadeAll: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionShadeAll]) (*os->notify[GroupScreenOptionShadeAll]) (s, o, GroupScreenOptionShadeAll); return TRUE; } break; case GroupScreenOptionAutoGroup: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionAutoGroup]) (*os->notify[GroupScreenOptionAutoGroup]) (s, o, GroupScreenOptionAutoGroup); return TRUE; } break; case GroupScreenOptionAutoUngroup: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionAutoUngroup]) (*os->notify[GroupScreenOptionAutoUngroup]) (s, o, GroupScreenOptionAutoUngroup); return TRUE; } break; case GroupScreenOptionWindowMatch: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionWindowMatch]) (*os->notify[GroupScreenOptionWindowMatch]) (s, o, GroupScreenOptionWindowMatch); return TRUE; } break; case GroupScreenOptionSelectOpacity: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionSelectOpacity]) (*os->notify[GroupScreenOptionSelectOpacity]) (s, o, GroupScreenOptionSelectOpacity); return TRUE; } break; case GroupScreenOptionSelectSaturation: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionSelectSaturation]) (*os->notify[GroupScreenOptionSelectSaturation]) (s, o, GroupScreenOptionSelectSaturation); return TRUE; } break; case GroupScreenOptionSelectBrightness: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionSelectBrightness]) (*os->notify[GroupScreenOptionSelectBrightness]) (s, o, GroupScreenOptionSelectBrightness); return TRUE; } break; case GroupScreenOptionSelectPrecision: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionSelectPrecision]) (*os->notify[GroupScreenOptionSelectPrecision]) (s, o, GroupScreenOptionSelectPrecision); return TRUE; } break; case GroupScreenOptionFillColor: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionFillColor]) (*os->notify[GroupScreenOptionFillColor]) (s, o, GroupScreenOptionFillColor); return TRUE; } break; case GroupScreenOptionLineColor: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionLineColor]) (*os->notify[GroupScreenOptionLineColor]) (s, o, GroupScreenOptionLineColor); return TRUE; } break; case GroupScreenOptionMipmaps: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionMipmaps]) (*os->notify[GroupScreenOptionMipmaps]) (s, o, GroupScreenOptionMipmaps); return TRUE; } break; case GroupScreenOptionUntabOnClose: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionUntabOnClose]) (*os->notify[GroupScreenOptionUntabOnClose]) (s, o, GroupScreenOptionUntabOnClose); return TRUE; } break; case GroupScreenOptionAutotabCreate: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionAutotabCreate]) (*os->notify[GroupScreenOptionAutotabCreate]) (s, o, GroupScreenOptionAutotabCreate); return TRUE; } break; case GroupScreenOptionTabbarShowDelay: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabbarShowDelay]) (*os->notify[GroupScreenOptionTabbarShowDelay]) (s, o, GroupScreenOptionTabbarShowDelay); return TRUE; } break; case GroupScreenOptionTabbingSpeed: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabbingSpeed]) (*os->notify[GroupScreenOptionTabbingSpeed]) (s, o, GroupScreenOptionTabbingSpeed); return TRUE; } break; case GroupScreenOptionTabbingTimestep: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabbingTimestep]) (*os->notify[GroupScreenOptionTabbingTimestep]) (s, o, GroupScreenOptionTabbingTimestep); return TRUE; } break; case GroupScreenOptionFadeTime: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionFadeTime]) (*os->notify[GroupScreenOptionFadeTime]) (s, o, GroupScreenOptionFadeTime); return TRUE; } break; case GroupScreenOptionPulseTime: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionPulseTime]) (*os->notify[GroupScreenOptionPulseTime]) (s, o, GroupScreenOptionPulseTime); return TRUE; } break; case GroupScreenOptionReflexTime: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionReflexTime]) (*os->notify[GroupScreenOptionReflexTime]) (s, o, GroupScreenOptionReflexTime); return TRUE; } break; case GroupScreenOptionFadeTextTime: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionFadeTextTime]) (*os->notify[GroupScreenOptionFadeTextTime]) (s, o, GroupScreenOptionFadeTextTime); return TRUE; } break; case GroupScreenOptionVisibilityTime: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionVisibilityTime]) (*os->notify[GroupScreenOptionVisibilityTime]) (s, o, GroupScreenOptionVisibilityTime); return TRUE; } break; case GroupScreenOptionChangeAnimationTime: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionChangeAnimationTime]) (*os->notify[GroupScreenOptionChangeAnimationTime]) (s, o, GroupScreenOptionChangeAnimationTime); return TRUE; } break; case GroupScreenOptionBarAnimations: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionBarAnimations]) (*os->notify[GroupScreenOptionBarAnimations]) (s, o, GroupScreenOptionBarAnimations); return TRUE; } break; case GroupScreenOptionThumbSize: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionThumbSize]) (*os->notify[GroupScreenOptionThumbSize]) (s, o, GroupScreenOptionThumbSize); return TRUE; } break; case GroupScreenOptionThumbSpace: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionThumbSpace]) (*os->notify[GroupScreenOptionThumbSpace]) (s, o, GroupScreenOptionThumbSpace); return TRUE; } break; case GroupScreenOptionBorderRadius: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionBorderRadius]) (*os->notify[GroupScreenOptionBorderRadius]) (s, o, GroupScreenOptionBorderRadius); return TRUE; } break; case GroupScreenOptionBorderWidth: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionBorderWidth]) (*os->notify[GroupScreenOptionBorderWidth]) (s, o, GroupScreenOptionBorderWidth); return TRUE; } break; case GroupScreenOptionTabBaseColor: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabBaseColor]) (*os->notify[GroupScreenOptionTabBaseColor]) (s, o, GroupScreenOptionTabBaseColor); return TRUE; } break; case GroupScreenOptionTabBorderColor: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabBorderColor]) (*os->notify[GroupScreenOptionTabBorderColor]) (s, o, GroupScreenOptionTabBorderColor); return TRUE; } break; case GroupScreenOptionTabHighlightColor: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabHighlightColor]) (*os->notify[GroupScreenOptionTabHighlightColor]) (s, o, GroupScreenOptionTabHighlightColor); return TRUE; } break; case GroupScreenOptionTabStyle: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabStyle]) (*os->notify[GroupScreenOptionTabStyle]) (s, o, GroupScreenOptionTabStyle); return TRUE; } break; case GroupScreenOptionTabbarFontSize: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabbarFontSize]) (*os->notify[GroupScreenOptionTabbarFontSize]) (s, o, GroupScreenOptionTabbarFontSize); return TRUE; } break; case GroupScreenOptionTabbarFontColor: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionTabbarFontColor]) (*os->notify[GroupScreenOptionTabbarFontColor]) (s, o, GroupScreenOptionTabbarFontColor); return TRUE; } break; case GroupScreenOptionSpringModelOnMove: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionSpringModelOnMove]) (*os->notify[GroupScreenOptionSpringModelOnMove]) (s, o, GroupScreenOptionSpringModelOnMove); return TRUE; } break; case GroupScreenOptionDndUngroupWindow: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionDndUngroupWindow]) (*os->notify[GroupScreenOptionDndUngroupWindow]) (s, o, GroupScreenOptionDndUngroupWindow); return TRUE; } break; case GroupScreenOptionDragHoverTime: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionDragHoverTime]) (*os->notify[GroupScreenOptionDragHoverTime]) (s, o, GroupScreenOptionDragHoverTime); return TRUE; } break; case GroupScreenOptionDragSpringK: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionDragSpringK]) (*os->notify[GroupScreenOptionDragSpringK]) (s, o, GroupScreenOptionDragSpringK); return TRUE; } break; case GroupScreenOptionDragFriction: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionDragFriction]) (*os->notify[GroupScreenOptionDragFriction]) (s, o, GroupScreenOptionDragFriction); return TRUE; } break; case GroupScreenOptionDragYDistance: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionDragYDistance]) (*os->notify[GroupScreenOptionDragYDistance]) (s, o, GroupScreenOptionDragYDistance); return TRUE; } break; case GroupScreenOptionDragSpeedLimit: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionDragSpeedLimit]) (*os->notify[GroupScreenOptionDragSpeedLimit]) (s, o, GroupScreenOptionDragSpeedLimit); return TRUE; } break; case GroupScreenOptionGlow: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionGlow]) (*os->notify[GroupScreenOptionGlow]) (s, o, GroupScreenOptionGlow); return TRUE; } break; case GroupScreenOptionGlowSize: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionGlowSize]) (*os->notify[GroupScreenOptionGlowSize]) (s, o, GroupScreenOptionGlowSize); return TRUE; } break; case GroupScreenOptionGlowType: if (compSetScreenOption (s, o, value)) { if (os->notify[GroupScreenOptionGlowType]) (*os->notify[GroupScreenOptionGlowType]) (s, o, GroupScreenOptionGlowType); return TRUE; } break; default: break; } return FALSE; } static CompOption * groupOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) { GROUP_OPTIONS_SCREEN(s); *count = GroupScreenOptionNum; return os->opt; } static Bool groupOptionsInitScreen (CompPlugin *p, CompScreen *s) { GroupOptionsScreen *os; GROUP_OPTIONS_DISPLAY (s->display); os = calloc (1, sizeof(GroupOptionsScreen)); if (!os) return FALSE; s->privates[od->screenPrivateIndex].ptr = os; if (!compInitScreenOptionsFromMetadata (s, &groupOptionsMetadata, groupOptionsScreenOptionInfo, os->opt, GroupScreenOptionNum)) { free (os); return FALSE; } if (groupPluginVTable && groupPluginVTable->initScreen) return groupPluginVTable->initScreen (p, s); return TRUE; } static void groupOptionsFiniScreen (CompPlugin *p, CompScreen *s) { if (groupPluginVTable && groupPluginVTable->finiScreen) return groupPluginVTable->finiScreen (p, s); GROUP_OPTIONS_SCREEN (s); compFiniScreenOptions (s, os->opt, GroupScreenOptionNum); free (os); } static Bool groupOptionsInitDisplay (CompPlugin *p, CompDisplay *d) { GroupOptionsDisplay *od; od = calloc (1, sizeof(GroupOptionsDisplay)); if (!od) return FALSE; od->screenPrivateIndex = allocateScreenPrivateIndex(d); if (od->screenPrivateIndex < 0) { free(od); return FALSE; } d->privates[displayPrivateIndex].ptr = od; if (!compInitDisplayOptionsFromMetadata (d, &groupOptionsMetadata, groupOptionsDisplayOptionInfo, od->opt, GroupDisplayOptionNum)) { free (od); return FALSE; } if (groupPluginVTable && groupPluginVTable->initDisplay) return groupPluginVTable->initDisplay (p, d); return TRUE; } static void groupOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) { if (groupPluginVTable && groupPluginVTable->finiDisplay) return groupPluginVTable->finiDisplay (p, d); GROUP_OPTIONS_DISPLAY (d); freeScreenPrivateIndex(d, od->screenPrivateIndex); compFiniDisplayOptions (d, od->opt, GroupDisplayOptionNum); free (od); } static Bool groupOptionsInit (CompPlugin *p) { displayPrivateIndex = allocateDisplayPrivateIndex(); if (displayPrivateIndex < 0) return FALSE; if (!compInitPluginMetadataFromInfo (&groupOptionsMetadata, "group",groupOptionsDisplayOptionInfo, GroupDisplayOptionNum, groupOptionsScreenOptionInfo, GroupScreenOptionNum)) return FALSE; compAddMetadataFromFile (&groupOptionsMetadata, "group"); if (groupPluginVTable && groupPluginVTable->init) return groupPluginVTable->init (p); return TRUE; } static void groupOptionsFini (CompPlugin *p) { if (groupPluginVTable && groupPluginVTable->fini) return groupPluginVTable->fini (p); if (displayPrivateIndex >= 0) freeDisplayPrivateIndex(displayPrivateIndex); compFiniMetadata (&groupOptionsMetadata); } static CompMetadata * groupOptionsGetMetadata (CompPlugin *plugin) { return &groupOptionsMetadata; } CompPluginVTable *getCompPluginInfo (void) { if (!groupPluginVTable) { groupPluginVTable = groupOptionsGetCompPluginInfo (); memcpy(&groupOptionsVTable, groupPluginVTable, sizeof(CompPluginVTable)); groupOptionsVTable.getMetadata = groupOptionsGetMetadata; groupOptionsVTable.init = groupOptionsInit; groupOptionsVTable.fini = groupOptionsFini; groupOptionsVTable.initDisplay = groupOptionsInitDisplay; groupOptionsVTable.finiDisplay = groupOptionsFiniDisplay; groupOptionsVTable.initScreen = groupOptionsInitScreen; groupOptionsVTable.finiScreen = groupOptionsFiniScreen; groupOptionsVTable.getDisplayOptions = groupOptionsGetDisplayOptions; groupOptionsVTable.setDisplayOption = groupOptionsSetDisplayOption; groupOptionsVTable.getScreenOptions = groupOptionsGetScreenOptions; groupOptionsVTable.setScreenOption = groupOptionsSetScreenOption; } return &groupOptionsVTable; }