# Make program not be opened until it is done loading

**URL:** <https://discourse.processing.org/t/make-program-not-be-opened-until-it-is-done-loading/43560>\
**Category:** Coding Questions\
**Created:** [December 26, 2023, 2:23pm UTC](https://discourse.processing.org/t/make-program-not-be-opened-until-it-is-done-loading/43560 "2023-12-26T14:23:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Noodlybanan](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/noodlybanan/32/18897_2.png) [@Noodlybanan](https://discourse.processing.org/u/Noodlybanan)\
**Post date:** [December 26, 2023, 2:23pm UTC](https://discourse.processing.org/t/make-program-not-be-opened-until-it-is-done-loading/43560/1 "2023-12-26T14:23:46Z")

</div>

Hi! Ive been trying to make my programm be minimized till it is done loading.

My code doesn’t work however and I haven’t seen a topic asking this.

```auto
void setup() {
  surface.setVisible(false);
  size(960, 540, P2D);
  
  delay(1000);
}

void draw() {
  surface.setVisible(true);
  background(0);
}

```

Thanks for any help! 🙂

---

<div class="post-metadata">

**Author:** ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)\
**Post date:** [December 26, 2023, 3:00pm UTC](https://discourse.processing.org/t/make-program-not-be-opened-until-it-is-done-loading/43560/2 "2023-12-26T15:00:43Z")

</div>

Maybe size() as first command

Or use the function settings, check reference

---

<div class="post-metadata">

**Author:** ![quark](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/quark/32/26_2.png) [@quark](https://discourse.processing.org/u/quark)\
**Post date:** [December 26, 2023, 3:32pm UTC](https://discourse.processing.org/t/make-program-not-be-opened-until-it-is-done-loading/43560/3 "2023-12-26T15:32:38Z")

</div>

It doesn’t work with P2D (OpenGL) but this works (Java AWT)

```auto
void setup() {
  size(960, 540);
  surface.setVisible(false);
  delay(5000);
}

void draw() {
  surface.setVisible(true);
  background(0);
}

```

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [December 26, 2023, 3:43pm UTC](https://discourse.processing.org/t/make-program-not-be-opened-until-it-is-done-loading/43560/4 "2023-12-26T15:43:13Z")

</div>

Hello @Noodlybanan,

Try this:

```auto
void setup() 
  {
  size(400, 400, P2D); // Works with thread("visible")
  //size(400, 400); // Works!
  surface.setVisible(false);
  thread("visible");
  }

void draw() 
  {
  background(255, 255, 0);
  println(frameCount);
  }  
  
void visible()
  {
  delay(5000);
  surface.setVisible(true);
  surface.setLocation(100, 100);
  }

```

Reference here gave me some insight:  
_[surface.setVisible() on different renderers - Processing 2.x and 3.x Forum](https://forum.processing.org/two/discussion/21847/surface-setvisible-on-different-renderers.html)_

`:)`

---

<div class="post-metadata">

**Author:** ![Noodlybanan](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/noodlybanan/32/18897_2.png) [@Noodlybanan](https://discourse.processing.org/u/Noodlybanan)\
**Post date:** [December 26, 2023, 3:49pm UTC](https://discourse.processing.org/t/make-program-not-be-opened-until-it-is-done-loading/43560/5 "2023-12-26T15:49:01Z")

</div>

Thank you for your help!
