# How to change Windows Bar at top of Example Project?

**URL:** <https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409>\
**Category:** Ignition\
**Created:** [December 9, 2010, 8:32pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409 "2010-12-09T20:32:40Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![noel](https://avatars.discourse-cdn.com/v4/letter/n/0ea827/32.png) [@noel](https://forum.inductiveautomation.com/u/noel)\
**Post date:** [December 9, 2010, 8:32pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/1 "2010-12-09T20:32:40Z")

</div>

How do I edit the entries on the bar containing Command, Navigation, Windows, and Help? ![](https://us1.discourse-cdn.com/inductiveautomation/original/1X/c8a8ff48bb5a87168668f819386a0f0dba6ca58f.jpg)

---

<div class="post-metadata">

**Author:** ![dep05d](https://avatars.discourse-cdn.com/v4/letter/d/e495f1/32.png) [@dep05d](https://forum.inductiveautomation.com/u/dep05d)\
**Post date:** [December 9, 2010, 8:45pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/2 "2010-12-09T20:45:06Z")

</div>

In the designer, go to Project → Event Scripts (Client) → Menubar. Here you can add/remove/edit menus, menu items, and their associated scripts.

Dan

 ![](https://us1.discourse-cdn.com/inductiveautomation/original/1X/2df4c29947cf74ab4566d8c288edf3a022665e40.JPG)

---

<div class="post-metadata">

**Author:** ![dep05d](https://avatars.discourse-cdn.com/v4/letter/d/e495f1/32.png) [@dep05d](https://forum.inductiveautomation.com/u/dep05d)\
**Post date:** [December 9, 2010, 9:04pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/3 "2010-12-09T21:04:51Z")

</div>

Oh yeah, and you can hide the windows menu, or the entire menubar altogether, by going to Project → Properties → User Interface.

Dan

 ![](https://us1.discourse-cdn.com/inductiveautomation/original/1X/077e43614aee317677c8271701c0cbcd29fdb9b9.JPG)

---

<div class="post-metadata">

**Author:** ![noel](https://avatars.discourse-cdn.com/v4/letter/n/0ea827/32.png) [@noel](https://forum.inductiveautomation.com/u/noel)\
**Post date:** [December 10, 2010, 1:50pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/4 "2010-12-10T13:50:22Z")

</div>

TYVM ![:thumb_left:](https://us1.discourse-cdn.com/inductiveautomation/original/1X/e26afb081ddde6df016df6ee49159cf56aaca688.gif ":thumb\_left:")

---

<div class="post-metadata">

**Author:** ![TruThat](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TruThat](https://forum.inductiveautomation.com/u/TruThat)\
**Post date:** [October 30, 2017, 4:20pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/5 "2017-10-30T16:20:43Z")

</div>

I know this is an old thread but My question relates. I have about 50 Projects…is there a way to auto update or link the client scripts for the MenuBar Via any method besides opening up each project and importing the client script?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 30, 2017, 4:25pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/6 "2017-10-30T16:25:38Z")

</div>

You could construct your menu programmatically in a shared script module, called from each project’s client startup event. You’d have to get familiar with Java’s menu model.

---

<div class="post-metadata">

**Author:** ![zackscriven](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zackscriven/32/7213_2.png) [@zackscriven](https://forum.inductiveautomation.com/u/zackscriven)\
**Post date:** [November 1, 2017, 4:08pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/7 "2017-11-01T16:08:51Z")

</div>

Do you have any sample code?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 1, 2017, 5:04pm UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/8 "2017-11-01T17:04:54Z")

</div>

Automatic dropdown navigation menu (only adds folders one level deep):

```auto
from javax.swing import SwingUtilities, JMenu, JMenuBar, JMenuItem
from functools import partial

window = system.nav.getWindow("somewindow")
root = SwingUtilities.getRoot(window)
menu = root.getJMenuBar()	

navmenu = JMenu("Navigation");

def handleSelect(event, target):
	system.nav.swapTo(target)

trees = {}
leaves = []

for window in system.gui.getWindowNames():
	winsplit = window.split('/')
	if winsplit[0] != 'Nav':
	
		menuItem = JMenuItem(winsplit[-1], actionPerformed=partial(handleSelect, target=window))
		if len(winsplit) > 1:
			if trees.get(winsplit[0]) is not None:
				trees[winsplit[0]].add(menuItem)
			else:
				submenu = JMenu(winsplit[0])
				submenu.add(menuItem)
				trees[winsplit[0]] = submenu
		else:
			leaves.append(JMenuItem(window, actionPerformed=partial(handleSelect, target=window)))
		
for tree in trees:
	navmenu.add(trees[tree])
	
for leaf in leaves:
	navmenu.add(leaf)

menu.add(navmenu)

```

---

<div class="post-metadata">

**Author:** ![TruThat](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@TruThat](https://forum.inductiveautomation.com/u/TruThat)\
**Post date:** [November 10, 2017, 2:04am UTC](https://forum.inductiveautomation.com/t/how-to-change-windows-bar-at-top-of-example-project/2409/9 "2017-11-10T02:04:14Z")

</div>

Thanks for the head start…I think this will get me where I want to be.
