rendered paste bodystatic 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);