[beryl-commits] compiz mirror: Changes to 'master' (5bdff19617a04ca8e1869556adbe72a88424471e)
compiz at server.beryl-project.org
compiz at server.beryl-project.org
Tue Jun 5 18:08:10 CEST 2007
New commits:
commit 5bdff19617a04ca8e1869556adbe72a88424471e
Author: Danny Baumann <dannybaumann at web.de>
Date: Tue Jun 5 18:07:32 2007 +0200
Fix option type for int description options.
commit f27f7842e3a5a6fa02c04dea54bc8291d3d1d647
Author: Danny Baumann <dannybaumann at web.de>
Date: Tue Jun 5 17:52:38 2007 +0200
Convert usage of restricted string options to int descriptions in wobbly plugin.
commit e156017b7e54933c5bbb8d0ce0550b250ea94dad
Author: Danny Baumann <dannybaumann at web.de>
Date: Tue Jun 5 17:39:36 2007 +0200
Convert usage of restricted string options to int descriptions in scale plugin.
metadata/scale.xml.in | 25 +++++++++++-----
metadata/wobbly.xml.in | 36 +++++++++++++++--------
plugins/scale.c | 55 +++++++++++------------------------
plugins/wobbly.c | 74 ++++++++++++-----------------------------------
4 files changed, 77 insertions(+), 113 deletions(-)
Modified: compiz/metadata/scale.xml.in
===================================================================
--- compiz/metadata/scale.xml.in
+++ compiz/metadata/scale.xml.in
@@ -75,15 +75,24 @@
<min>0</min>
<max>100</max>
</option>
- <option name="overlay_icon" type="string">
+ <option name="overlay_icon" type="int">
<_short>Overlay Icon</_short>
- <_long>Overlay an icon on windows once they are scaled</_long>
- <default>Emblem</default>
- <allowed>
- <value>None</value>
- <value>Emblem</value>
- <value>Big</value>
- </allowed>
+ <_long>Overlay an icon on windows once they are scaled</_long>
+ <min>0</min>
+ <max>2</max>
+ <default>1</default>
+ <desc>
+ <value>0</value>
+ <_name>None</_name>
+ </desc>
+ <desc>
+ <value>1</value>
+ <_name>Emblem</_name>
+ </desc>
+ <desc>
+ <value>2</value>
+ <_name>Big</_name>
+ </desc>
</option>
<option name="hover_time" type="int">
<_short>Hover Time</_short>
Modified: compiz/metadata/wobbly.xml.in
===================================================================
--- compiz/metadata/wobbly.xml.in
+++ compiz/metadata/wobbly.xml.in
@@ -63,23 +63,35 @@
<min>4</min>
<max>128</max>
</option>
- <option name="map_effect" type="string">
+ <option name="map_effect" type="int">
<_short>Map Effect</_short>
<_long>Map Window Effect</_long>
- <default>None</default>
- <allowed>
- <value>None</value>
- <value>Shiver</value>
- </allowed>
+ <min>0</min>
+ <max>1</max>
+ <default>0</default>
+ <desc>
+ <value>0</value>
+ <_name>None</_name>
+ </desc>
+ <desc>
+ <value>1</value>
+ <_name>Shiver</_name>
+ </desc>
</option>
- <option name="focus_effect" type="string">
+ <option name="focus_effect" type="int">
<_short>Focus Effect</_short>
<_long>Focus Window Effect</_long>
- <default>None</default>
- <allowed>
- <value>None</value>
- <value>Shiver</value>
- </allowed>
+ <min>0</min>
+ <max>1</max>
+ <default>0</default>
+ <desc>
+ <value>0</value>
+ <_name>None</_name>
+ </desc>
+ <desc>
+ <value>1</value>
+ <_name>Shiver</_name>
+ </desc>
</option>
<option name="map_window_match" type="match">
<_short>Map Windows</_short>
Modified: compiz/plugins/scale.c
===================================================================
--- compiz/plugins/scale.c
+++ compiz/plugins/scale.c
@@ -44,11 +44,10 @@
#define SCALE_STATE_WAIT 2
#define SCALE_STATE_IN 3
-typedef enum {
- ScaleIconNone = 0,
- ScaleIconEmblem,
- ScaleIconBig
-} IconOverlay;
+#define SCALE_ICON_NONE 0
+#define SCALE_ICON_EMBLEM 1
+#define SCALE_ICON_BIG 2
+#define SCALE_ICON_LAST SCALE_ICON_BIG
static CompMetadata scaleMetadata;
@@ -129,8 +128,6 @@ typedef struct _ScaleScreen {
GLushort opacity;
- IconOverlay iconOverlay;
-
ScaleType type;
Window clientLeader;
@@ -177,17 +174,6 @@ typedef struct _ScaleWindow {
#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption))
-static IconOverlay
-scaleIconOverlayFromString (CompOptionValue *value)
-{
- if (strcasecmp (value->s, "emblem") == 0)
- return ScaleIconEmblem;
- else if (strcasecmp (value->s, "big") == 0)
- return ScaleIconBig;
- else
- return ScaleIconNone;
-}
-
static CompOption *
scaleGetScreenOptions (CompPlugin *plugin,
CompScreen *screen,
@@ -223,13 +209,6 @@ scaleSetScreenOption (CompPlugin *plugin,
return TRUE;
}
break;
- case SCALE_SCREEN_OPTION_ICON:
- if (compSetStringOption (o, value))
- {
- ss->iconOverlay = scaleIconOverlayFromString (&o->value);
- return TRUE;
- }
- break;
default:
return compSetScreenOption (screen, o, value);
}
@@ -375,7 +354,8 @@ scalePaintWindow (CompWindow *w,
glPopMatrix ();
}
- if ((ss->iconOverlay != ScaleIconNone) && scaled)
+ if (scaled &&
+ (ss->opt[SCALE_SCREEN_OPTION_ICON].value.i != SCALE_ICON_NONE))
{
CompIcon *icon;
@@ -395,12 +375,13 @@ scalePaintWindow (CompWindow *w,
scaledWinWidth = w->width * sw->scale;
scaledWinHeight = w->height * sw->scale;
- switch (ss->iconOverlay) {
- case ScaleIconNone:
- case ScaleIconEmblem:
+ switch (ss->opt[SCALE_SCREEN_OPTION_ICON].value.i)
+ {
+ case SCALE_ICON_NONE:
+ case SCALE_ICON_EMBLEM:
scale = 1.0f;
break;
- case ScaleIconBig:
+ case SCALE_ICON_BIG:
default:
sAttrib.opacity /= 3;
scale = MIN (((float) scaledWinWidth / icon->width),
@@ -411,13 +392,14 @@ scalePaintWindow (CompWindow *w,
width = icon->width * scale;
height = icon->height * scale;
- switch (ss->iconOverlay) {
- case ScaleIconNone:
- case ScaleIconEmblem:
+ switch (ss->opt[SCALE_SCREEN_OPTION_ICON].value.i)
+ {
+ case SCALE_ICON_NONE:
+ case SCALE_ICON_EMBLEM:
x = w->attrib.x + scaledWinWidth - icon->width;
y = w->attrib.y + scaledWinHeight - icon->height;
break;
- case ScaleIconBig:
+ case SCALE_ICON_BIG:
default:
x = w->attrib.x + scaledWinWidth / 2 - width / 2;
y = w->attrib.y + scaledWinHeight / 2 - height / 2;
@@ -1829,7 +1811,7 @@ static const CompMetadataOptionInfo scaleScreenOptionInfo[] = {
{ "window_match", "match", 0, 0, 0 },
{ "darken_back", "bool", 0, 0, 0 },
{ "opacity", "int", "<min>0</min><max>100</max>", 0, 0 },
- { "overlay_icon", "string", 0, 0, 0 },
+ { "overlay_icon", "int", RESTOSTRING (0, SCALE_ICON_LAST), 0, 0 },
{ "hover_time", "int", "<min>50</min>", 0, 0 }
};
@@ -1881,9 +1863,6 @@ scaleInitScreen (CompPlugin *p,
ss->opacity =
(OPAQUE * ss->opt[SCALE_SCREEN_OPTION_OPACITY].value.i) / 100;
- ss->iconOverlay =
- scaleIconOverlayFromString (&ss->opt[SCALE_SCREEN_OPTION_ICON].value);
-
WRAP (ss, s, preparePaintScreen, scalePreparePaintScreen);
WRAP (ss, s, donePaintScreen, scaleDonePaintScreen);
WRAP (ss, s, paintOutput, scalePaintOutput);
Modified: compiz/plugins/wobbly.c
===================================================================
--- compiz/plugins/wobbly.c
+++ compiz/plugins/wobbly.c
@@ -104,10 +104,9 @@ typedef struct _Model {
unsigned int snapCnt[4];
} Model;
-typedef enum {
- WobblyEffectNone = 0,
- WobblyEffectShiver
-} WobblyEffect;
+#define WOBBLY_EFFECT_NONE 0
+#define WOBBLY_EFFECT_SHIVER 1
+#define WOBBLY_EFFECT_LAST WOBBLY_EFFECT_SHIVER
static CompMetadata wobblyMetadata;
@@ -159,9 +158,6 @@ typedef struct _WobblyScreen {
Bool wobblyWindows;
- WobblyEffect mapEffect;
- WobblyEffect focusEffect;
-
unsigned int grabMask;
CompWindow *grabWindow;
Bool moveWindow;
@@ -201,15 +197,6 @@ typedef struct _WobblyWindow {
#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption))
-static WobblyEffect
-wobblyEffectFromString (CompOptionValue *value)
-{
- if (strcasecmp (value->s, "shiver") == 0)
- return WobblyEffectShiver;
- else
- return WobblyEffectNone;
-}
-
static CompOption *
wobblyGetScreenOptions (CompPlugin *plugin,
CompScreen *screen,
@@ -228,36 +215,14 @@ wobblySetScreenOption (CompPlugin *plugin,
CompOptionValue *value)
{
CompOption *o;
- int index;
WOBBLY_SCREEN (screen);
- o = compFindOption (ws->opt, NUM_OPTIONS (ws), name, &index);
+ o = compFindOption (ws->opt, NUM_OPTIONS (ws), name, NULL);
if (!o)
return FALSE;
- switch (index) {
- case WOBBLY_SCREEN_OPTION_MAP_EFFECT:
- if (compSetStringOption (o, value))
- {
- ws->mapEffect = wobblyEffectFromString (&o->value);
- return TRUE;
- }
- break;
- case WOBBLY_SCREEN_OPTION_FOCUS_EFFECT:
- if (compSetStringOption (o, value))
- {
- ws->focusEffect = wobblyEffectFromString (&o->value);
- return TRUE;
- }
- break;
- default:
- if (compSetOption (o, value))
- return TRUE;
- break;
- }
-
- return FALSE;
+ return compSetScreenOption (screen, o, value);
}
static const CompMetadataOptionInfo wobblyScreenOptionInfo[] = {
@@ -265,8 +230,8 @@ static const CompMetadataOptionInfo wobblyScreenOptionInfo[] = {
{ "spring_k", "float", "<min>0.1</min>", 0, 0 },
{ "grid_resolution", "int", "<min>1</min><max>64</max>", 0, 0 },
{ "min_grid_size", "int", "<min>4</min><max>128</max>", 0, 0 },
- { "map_effect", "string", 0, 0, 0 },
- { "focus_effect", "string", 0, 0, 0 },
+ { "map_effect", "int", RESTOSTRING (0, WOBBLY_EFFECT_LAST), 0, 0 },
+ { "focus_effect", "int", RESTOSTRING (0, WOBBLY_EFFECT_LAST), 0, 0 },
{ "map_window_match", "match", 0, 0, 0 },
{ "focus_window_match", "match", 0, 0, 0 },
{ "grab_window_match", "match", 0, 0, 0 },
@@ -2238,18 +2203,20 @@ wobblyHandleEvent (CompDisplay *d,
if (w && isWobblyWin (w))
{
int mIndex;
+ int focusEffect;
WOBBLY_WINDOW (w);
WOBBLY_SCREEN (w->screen);
- mIndex = WOBBLY_SCREEN_OPTION_FOCUS_WINDOW_MATCH;
+ mIndex = WOBBLY_SCREEN_OPTION_FOCUS_WINDOW_MATCH;
+ focusEffect = ws->opt[WOBBLY_SCREEN_OPTION_FOCUS_EFFECT].value.i;
- if (ws->focusEffect &&
+ if ((focusEffect != WOBBLY_EFFECT_NONE) &&
matchEval (&ws->opt[mIndex].value.match, w) &&
wobblyEnsureModel (w))
{
- switch (ws->focusEffect) {
- case WobblyEffectShiver:
+ switch (focusEffect) {
+ case WOBBLY_EFFECT_SHIVER:
modelAdjustObjectsForShiver (ww->model,
WIN_X (w),
WIN_Y (w),
@@ -2308,21 +2275,23 @@ wobblyDamageWindowRect (CompWindow *w,
if (isWobblyWin (w))
{
int mIndex;
+ int mapEffect;
WOBBLY_WINDOW (w);
WOBBLY_SCREEN (w->screen);
- mIndex = WOBBLY_SCREEN_OPTION_MAP_WINDOW_MATCH;
+ mIndex = WOBBLY_SCREEN_OPTION_MAP_WINDOW_MATCH;
+ mapEffect = ws->opt[WOBBLY_SCREEN_OPTION_MAP_EFFECT].value.i;
if (ws->opt[WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT].value.b)
wobblyEnsureModel (w);
- if (ws->mapEffect &&
+ if ((mapEffect != WOBBLY_EFFECT_NONE) &&
matchEval (&ws->opt[mIndex].value.match, w) &&
wobblyEnsureModel (w))
{
- switch (ws->mapEffect) {
- case WobblyEffectShiver:
+ switch (mapEffect) {
+ case WOBBLY_EFFECT_SHIVER:
modelAdjustObjectsForShiver (ww->model,
WIN_X (w), WIN_Y (w),
WIN_W (w), WIN_H (w));
@@ -2778,11 +2747,6 @@ wobblyInitScreen (CompPlugin *p,
ws->wobblyWindows = FALSE;
- ws->mapEffect =
- wobblyEffectFromString (&ws->opt[WOBBLY_SCREEN_OPTION_MAP_EFFECT].value);
- ws->focusEffect =
- wobblyEffectFromString (&ws->opt[WOBBLY_SCREEN_OPTION_FOCUS_EFFECT].value);
-
ws->grabMask = 0;
ws->grabWindow = NULL;
ws->moveWindow = FALSE;
More information about the commits
mailing list