# Full Screen On Three Monitors

**URL:** <https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754>\
**Category:** Ignition\
**Created:** [April 21, 2023, 12:50pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754 "2023-04-21T12:50:42Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![AdvancedSolutions](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/advancedsolutions/32/47573_2.png) [@AdvancedSolutions](https://forum.inductiveautomation.com/u/AdvancedSolutions)\
**Post date:** [April 21, 2023, 12:50pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/1 "2023-04-21T12:50:42Z")

</div>

Just started using Ignition and I've gone through a lot of the University videos. At the end of Lesson: Multi-Monitor Clients it mentions using startup script to place a desktop in each window. I do not know much about Python, so I'm not sure where to start. My goal is to get a seamless display across three monitors that will show all the operations on the floor.

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [April 21, 2023, 1:00pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/2 "2023-04-21T13:00:32Z")

</div>

I think you can do this with `system.gui.openDesktop`. Never tried it.  
[https://docs.inductiveautomation.com/display/DOC81/system.gui.openDesktop](https://docs.inductiveautomation.com/display/DOC81/system.gui.openDesktop)

edit: just tried, it's super easy. Works just as I'd expect, out of the box.

Just make sure to pass a LIST of windows (even if it's a one element list), not just a window itself.

---

<div class="post-metadata">

**Author:** ![leonardo.godoi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/leonardo.godoi/32/27178_2.png) [@leonardo.godoi](https://forum.inductiveautomation.com/u/leonardo.godoi)\
**Post date:** [April 21, 2023, 1:07pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/3 "2023-04-21T13:07:19Z")

</div>

If it's Vision you can use the following script that i've got either here or in some page of the manual that i don't remember anymore:

```auto
# Get the screen information for all of your monitors.
# The getScreens() function returns a dataset of the index (0 based), width, and height for each monitor.
screensDataset = system.gui.getScreens()
  
# Open the first window of the project in the (current) primary monitor.
screenIndex = screensDataset[0][0]
monitorNum = screenIndex + 1
primaryScreenText = 'Monitor %d' %monitorNum
#NavigationTabs is my primary window, replace it with your own
system.nav.swapTo('NavigationTabs', {'Display':primaryScreenText})
  
# Step through all of the screen information, starting with index 1 instead of 0.
for screenDetails in screensDataset[1:]:
    # unpacks the tuple that is returned for each of the monitors present. Consists of screen index, width, and height of the screen.
    screenIndex, screenWidth, screenHeight = screenDetails
    monitorNum = screenIndex + 1
    screenText = "Monitor %d" %monitorNum
  
    # Open an empty frame on the next monitor.
    # Assign a handle and apply the width/height for the monitor you are opening on
    handleName = "Monitor %d" %monitorNum
    system.gui.openDesktop(screen=screenIndex, handle=handleName, width=screenWidth, height=screenHeight)
    # Open the Main Window on this new desktop and pass the parameters needed.
    usuario = system.tag.read('[System]Client/User/Username').value
    system.nav.desktop(handleName).swapTo('NavigationTabs', {'Display':screenText})
    system.nav.desktop(handleName).openWindow('Main Windows/Home')
    system.nav.desktop(handleName).openWindow('Main Windows/BannerAlarme')
    system.tag.write('[client]Monitor',handleName)

```

---

<div class="post-metadata">

**Author:** ![AdvancedSolutions](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/advancedsolutions/32/47573_2.png) [@AdvancedSolutions](https://forum.inductiveautomation.com/u/AdvancedSolutions)\
**Post date:** [April 21, 2023, 1:29pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/4 "2023-04-21T13:29:16Z")

</div>

I am not sure how to integrate this so that it will work. I am very new to this.

---

<div class="post-metadata">

**Author:** ![leonardo.godoi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/leonardo.godoi/32/27178_2.png) [@leonardo.godoi](https://forum.inductiveautomation.com/u/leonardo.godoi)\
**Post date:** [April 21, 2023, 1:35pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/5 "2023-04-21T13:35:05Z")

</div>

Here:

 ![java_qomOCtrFjT](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/a/fab051e1d25cc687e3a11c070a2f107fdd1c73f9.png)

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [April 21, 2023, 1:36pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/6 "2023-04-21T13:36:05Z")

</div>

Well, that depends on what you need exactly.

If you want everything to open when launching the project, You could try using a client event startup script.

If you want extra screens to open under certain conditions, then that will depend on the conditions.

---

<div class="post-metadata">

**Author:** ![AdvancedSolutions](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/advancedsolutions/32/47573_2.png) [@AdvancedSolutions](https://forum.inductiveautomation.com/u/AdvancedSolutions)\
**Post date:** [April 21, 2023, 1:58pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/7 "2023-04-21T13:58:11Z")

</div>

Yes, I would like for the project to open to all three screens on startup. I had already put suggested code into the Client Startup Script already but I'm getting an error. I assumed I would need to change some variables in order to get it to work in my project but I'm not sure which ones.  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/8/e8cf9f56c55bc1c18098e276ab6e9a4990389f2f.png)

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [April 21, 2023, 2:00pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/8 "2023-04-21T14:00:33Z")

</div>

Well, we'll need the error message in order to help you fix it. Click on the `details` tab.

---

<div class="post-metadata">

**Author:** ![AdvancedSolutions](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/advancedsolutions/32/47573_2.png) [@AdvancedSolutions](https://forum.inductiveautomation.com/u/AdvancedSolutions)\
**Post date:** [April 21, 2023, 2:44pm UTC](https://forum.inductiveautomation.com/t/full-screen-on-three-monitors/72754/9 "2023-04-21T14:44:11Z")

</div>

Okay! I think I actually got it to work after looking through the details of the error code. Thank you both for your help.
