O.k. Came up with a compromise version
Read the first line of the script carefully!.
Not fully baked to put it mildly but I think over the halfway point.
A keyboard shortcut can be set to it using the UI.
To make work for 3, 4, 205 spreads use your brain a little bit ;-) (i.e. place the helper on the appropriate spread).
Enjoy,
Trevor
// A NOT THE MOST ROBUST SCRIPT // By Trevor to zoom to 2 spreads var gapBetweenPasteBoardsTweak = 10, // Change this according to screen size etc. desiredZoomPercentage = 30, // Change this according to screen size etc. doc = app.properties.activeDocument; !doc && exit(); (doc.spreads.length == 1) && exit(); gapBetweenPasteBoardsTweak = doc.extractLabel ("gapBetweenPasteBoardsTweak") || app.extractLabel ("gapBetweenPasteBoardsTweak") || gapBetweenPasteBoardsTweak; // can use app or doc insertLabel("gapBetweenPasteBoardsTweak", 10 or whatever) // Can make a very simple SUI to set these values in a separate script desiredZoomPercentage = doc.extractLabel ("desiredZoomPercentage") || app.extractLabel ("desiredZoomPercentage") || desiredZoomPercentage; // Can use app or doc insertLabel("desiredZoomPercentage", 30 or whatever) var aWindow = app.activeWindow, activeSpread = aWindow.activeSpread, pasteboardVerticalMargin = doc.pasteboardPreferences.pasteboardMargins[1]; app.doScript("doubleSpreadZoom (+(doc.spreads[-1] == activeSpread));", ScriptLanguage.JAVASCRIPT, undefined, UndoModes.FAST_ENTIRE_SCRIPT, "Zoom to Double Spread"); function doubleSpreadZoom (isLastSpread) { var helperSpread = doc.spreads[activeSpread.index - isLastSpread], y1 = activeSpread.pages[0].bounds[2], y2 = y1 + 2 * pasteboardVerticalMargin + gapBetweenPasteBoardsTweak, x = (helperSpread.pages.length > 1 || doc.spreads[helperSpread.index + 1].pages.length > 1) ? helperSpread.pages[0].bounds[3] : helperSpread.pages[0].bounds[3] / 2, zoomHelper = helperSpread.pages[0].graphicLines.add({geometricBounds: [y1, x, y2, x + 1], strokeColor: "None"}), s = app.selection && app.selection[0]; zoomHelper.select (); doc.recompose() aWindow.zoomPercentage = desiredZoomPercentage; s && s.select (); zoomHelper.remove(); }