Here another example:
import nigui
app.init()
var mainWindow = newWindow("Main window")
var container1 = newLayoutContainer(Layout_Vertical)
mainWindow.add(container1)
var button1 = newButton("Open new window")
container1.add(button1)
var index = 0
button1.onClick = proc(event: ClickEvent) =
index.inc()
var additionalWindow = newWindow("Window " & $index)
var container2 = newLayoutContainer(Layout_Vertical)
additionalWindow.add(container2)
var button2 = newButton("Close")
container2.add(button2)
button2.onClick = proc(event: ClickEvent) =
additionalWindow.dispose()
additionalWindow.show()
mainWindow.show()
app.run()
Run