3

We have 4 monitors arranged 2 x 2. Are there any ways to enable the new release of AIR to expand across all monitors in one window?

Alternatively is there any software that can trick it the display driver to show only one large monitor?

5
  • What happens if you resize the main window to the total resolution of the 2x2 grid and position it in the top left corner of the top left monitor?
    – RIAstar
    Aug 23, 2011 at 14:29
  • unfortunately we don't have multiple monitors here at the moment, I'm tasked with ordering in, once we know what might work.
    – davivid
    Aug 23, 2011 at 14:33
  • Then I'll be lazy too and answer: yes, it's probably possible. (Come on, you just have to plug in an additional monitor and try it)
    – RIAstar
    Aug 23, 2011 at 14:41
  • haha - seriously we just have single hi res monitors in the office
    – davivid
    Aug 23, 2011 at 14:48
  • No spares, really? If your boss would like to pay me to do your research for you, I'll be glad to help.
    – RIAstar
    Aug 23, 2011 at 15:09

2 Answers 2

1

Check the documentation for flash.display.Screen.

Once you figure out how big it should be, you should be able to set its position and size using the bounds property off the flash.display.NativeWindow class.

Update:

So here at work I have two monitors, so I threw together a quick test AIR app:

package
{
    import flash.display.NativeWindow;
    import flash.display.Screen;
    import flash.display.Sprite;
    import flash.geom.Rectangle;

    public class MultimonitorTest extends Sprite
    {
        public function MultimonitorTest()
        {
            var screens:Array = Screen.screens;
            var rect:Rectangle = new Rectangle();

            for(var i:uint;i<screens.length;i++) {
                trace(Screen(screens[i]).bounds);
                rect = rect.union(screens[i].bounds);
            }
            trace(rect);
            this.stage.nativeWindow.bounds = rect;
        }
    }
}

You can see it loops through the available screens. It also creates a new rectangle that is a union of the composite screens. Then sets nativeWindow.bounds to that union.

The output of the app is this:

(x=0, y=0, w=1440, h=900)
(x=1440, y=0, w=1920, h=1080)
(x=0, y=0, w=3360, h=1080)

One thing to consider is this doesn't take into account the taskbar or anything else, and if your screens are different sizes, like mine are, the resulting rectangle will be larger than your actual screens. But this should at least give you a place to start.

So, to answer your question: Yes. :)

2
  • Cool, is this something you have experienced working? I know how big it should be 3840 x 2160 (4 x HD)... just cant test before ordering. Cant even try on a dual monitor set up at the mo.
    – davivid
    Aug 23, 2011 at 14:46
  • awesome cheers! I really need to push a for a room of spares - so we can actually R&D properly!
    – davivid
    Aug 23, 2011 at 15:20
0

There is also a much simpler way to accomplish this - just set the stage to the size required, and in application.xml set <systemChrome>none</systemChrome>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .