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 compiz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/compiz