static void groupScreenOptionChanged(CompScreen *s, CompOption *opt, GroupScreenOptions num) { GROUP_SCREEN(s); GroupSelection *group; switch (num) { case GroupScreenOptionTabBaseColor: case GroupScreenOptionTabHighlightColor: case GroupScreenOptionTabBorderColor: case GroupScreenOptionTabStyle: case GroupScreenOptionBorderRadius: case GroupScreenOptionBorderWidth: for (group = gs->groups; group; group = group->next) if (group->tabBar) groupRenderTabBarBackground(group); break; case GroupScreenOptionTabbarFontSize: case GroupScreenOptionTabbarFontColor: for (group = gs->groups; group; group = group->next) groupRenderWindowTitle(group); break; case GroupScreenOptionThumbSize: case GroupScreenOptionThumbSpace: for (group = gs->groups; group; group = group->next) if (group->tabBar) groupRecalcTabBarPos(group, (group->tabBar->region->extents.x1 + group->tabBar->region->extents.x2) / 2, group->tabBar->region->extents.x1, group->tabBar->region->extents.x2); break; case GroupScreenOptionGlow: case GroupScreenOptionGlowSize: { CompWindow *w; groupRecomputeGlow(s); for (w = s->windows; w; w = w->next) { GROUP_WINDOW(w); if (gw->glowQuads) { damageWindowOutputExtents(w); updateWindowOutputExtents(w); damageWindowOutputExtents(w); } } } break; case GroupScreenOptionGlowType: { GROUP_DISPLAY(s->display); GroupGlowTypeEnum glowType; glowType = groupGetGlowType(s); finiTexture(s, &gs->glowTexture); initTexture(s, &gs->glowTexture); imageDataToTexture(s, &gs->glowTexture, gd->glowTextureProperties[glowType].textureData, gd->glowTextureProperties[glowType].textureSize, gd->glowTextureProperties[glowType].textureSize, GL_RGBA, GL_UNSIGNED_BYTE); if (groupGetGlow(s) && gs->groups) { groupRecomputeGlow(s); damageScreen(s); } } break; default: break; } } groupSetTabHighlightColorNotify(s, groupScreenOptionChanged); groupSetTabBaseColorNotify(s, groupScreenOptionChanged); groupSetTabBorderColorNotify(s, groupScreenOptionChanged); groupSetTabbarFontSizeNotify(s, groupScreenOptionChanged); groupSetTabbarFontColorNotify(s, groupScreenOptionChanged); groupSetGlowNotify(s, groupScreenOptionChanged); groupSetGlowTypeNotify(s, groupScreenOptionChanged); groupSetGlowSizeNotify(s, groupScreenOptionChanged); groupSetTabStyleNotify(s, groupScreenOptionChanged); groupSetThumbSizeNotify(s, groupScreenOptionChanged); groupSetThumbSpaceNotify(s, groupScreenOptionChanged); groupSetBorderWidthNotify(s, groupScreenOptionChanged); groupSetBorderRadiusNotify(s, groupScreenOptionChanged);