Multiple monitors: how to?


just a general question for directions/pointers:
I would like to build an application that has two windows:

  1. main control window (buttons, sliders, …)
  2. display window (only displays images or video, nothing else)
    The second window would need to take up the entire screen in a dual monitor setup, so that I can put it on a projector, without showing any window border or other distracting GUI elements.

How would I go about doing this in Juce?
Do I just create a second window from the application? How can I make that a borderless window then that is maximized over the intire second “monitor/projector”?

Any general directions where to go and look in the Juce framework to accomplish this?

Any Component can be made into a window be calling addToDesktop(). By default therefore, there will be no border chrome.

Take a look at the TopLevelWindow class, and how AlertWindow is implemented to get some ideas of how it all works. Since you always want your window to fixed in size and location, it’d probably make sense for you to descend directly from TopLevelWindow.

Thanks for the fast response!
The addToDesktop and setFullScreen calls should probably do the trick.

I just saw that there is actually also the Display class and Desktop::getDisplays(), so I can use that to move a component to the right display from within my ocde. And there’s also a Desktop::setKioskModeComponent call apparently.

Looks like you pointed me into the right directions. I’ll have a look from there! Thanks!


1 Like