This patch will add a new option (zoom_manual_only) in the rotate plugin
that (by default) will make it zoom only on mouse initiate (so no more
on d&d, window move and key-rotate)...
Bye
--
Treviño's Blog - Life and Linux
http://3v1n0.tuxfamily.org/blog/
diff --git a/metadata/rotate.xml.in b/metadata/rotate.xml.in
index 23c11b2..d0a2fb1 100644
--- a/metadata/rotate.xml.in
+++ b/metadata/rotate.xml.in
@@ -269,7 +269,11 @@
<max>2.0</max>
<precision>0.1</precision>
</option>
-
+ <option name="zoom_manual_only" type="bool">
+ <short>Zoom only on Mouse Rotate</short>
+ <long>Zoom out only on mouse rotate.</long>
+ <default>true</default>
+ </option>
</screen>
</plugin>
</compiz>
diff --git a/plugins/rotate.c b/plugins/rotate.c
index 396f98e..e723b8a 100644
--- a/plugins/rotate.c
+++ b/plugins/rotate.c
@@ -95,7 +95,8 @@ typedef struct _RotateDisplay {
#define ROTATE_SCREEN_OPTION_SPEED 4
#define ROTATE_SCREEN_OPTION_TIMESTEP 5
#define ROTATE_SCREEN_OPTION_ZOOM 6
-#define ROTATE_SCREEN_OPTION_NUM 7
+#define ROTATE_SCREEN_OPTION_ZOOM_MANUAL_ONLY 7
+#define ROTATE_SCREEN_OPTION_NUM 8
typedef struct _RotateScreen {
PreparePaintScreenProc preparePaintScreen;
@@ -411,7 +412,8 @@ rotatePreparePaintScreen (CompScreen *s,
}
}
- if (rs->moving && cs->invert == 1 && !cs->unfolded)
+ if (rs->moving && cs->invert == 1 && !cs->unfolded &&
+ !rs->opt[ROTATE_SCREEN_OPTION_ZOOM_MANUAL_ONLY].value.b)
{
if (fabs(rs->xrot + rs->baseXrot + rs->moveTo) <=
(360.0 / (s->hsize * 2.0)))
@@ -1752,7 +1754,8 @@ static const CompMetadataOptionInfo rotateScreenOptionInfo[] = {
{ "snap_top", "bool", 0, 0, 0 },
{ "speed", "float", "<min>0.1</min>", 0, 0 },
{ "timestep", "float", "<min>0.1</min>", 0, 0 },
- { "zoom", "float", 0, 0, 0 }
+ { "zoom", "float", 0, 0, 0 },
+ { "zoom_manual_only", "bool", 0, 0, 0 }
};
static Bool
_______________________________________________
compiz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/compiz