diff --git a/shiny/example/basic/main.go b/shiny/example/basic/main.go
index c3d7ee4..42b42d1 100644
--- a/shiny/example/basic/main.go
+++ b/shiny/example/basic/main.go
@@ -41,7 +41,9 @@
 
 func main() {
 	driver.Main(func(s screen.Screen) {
-		w, err := s.NewWindow(nil)
+		w, err := s.NewWindow(&screen.NewWindowOptions{
+			Title: "Basic Shiny Example",
+		})
 		if err != nil {
 			log.Fatal(err)
 		}
diff --git a/shiny/example/basicgl/main.go b/shiny/example/basicgl/main.go
index 38442e6..6bd428f 100644
--- a/shiny/example/basicgl/main.go
+++ b/shiny/example/basicgl/main.go
@@ -48,7 +48,11 @@
 			colorPatch(colornames.Green, unit.Pixels(50), unit.Pixels(50)),
 		))
 
-		if err := widget.RunWindow(s, body, nil); err != nil {
+		if err := widget.RunWindow(s, body, &widget.RunWindowOptions{
+			NewWindowOptions: screen.NewWindowOptions{
+				Title: "BasicGL Shiny Example",
+			},
+		}); err != nil {
 			log.Fatal(err)
 		}
 	})
diff --git a/shiny/example/fluid/main.go b/shiny/example/fluid/main.go
index 3a795bb..980f588 100644
--- a/shiny/example/fluid/main.go
+++ b/shiny/example/fluid/main.go
@@ -48,7 +48,9 @@
 
 func main() {
 	driver.Main(func(s screen.Screen) {
-		w, err := s.NewWindow(nil)
+		w, err := s.NewWindow(&screen.NewWindowOptions{
+			Title: "Fluid Shiny Example",
+		})
 		if err != nil {
 			log.Fatal(err)
 		}
diff --git a/shiny/example/goban/main.go b/shiny/example/goban/main.go
index 8c47b34..dd02fae 100644
--- a/shiny/example/goban/main.go
+++ b/shiny/example/goban/main.go
@@ -39,7 +39,9 @@
 	board := NewBoard(9, *scale)
 
 	driver.Main(func(s screen.Screen) {
-		w, err := s.NewWindow(nil)
+		w, err := s.NewWindow(&screen.NewWindowOptions{
+			Title: "Goban Shiny Example",
+		})
 		if err != nil {
 			log.Fatal(err)
 		}
diff --git a/shiny/example/icongallery/main.go b/shiny/example/icongallery/main.go
index 3ea6e9d..efb8f12 100644
--- a/shiny/example/icongallery/main.go
+++ b/shiny/example/icongallery/main.go
@@ -162,7 +162,11 @@
 			stretch(widget.NewSheet(body), 1),
 		)
 
-		if err := widget.RunWindow(s, w, nil); err != nil {
+		if err := widget.RunWindow(s, w, &widget.RunWindowOptions{
+			NewWindowOptions: screen.NewWindowOptions{
+				Title: "IconGallery Shiny Example",
+			},
+		}); err != nil {
 			log.Fatal(err)
 		}
 	})
diff --git a/shiny/example/imageview/main.go b/shiny/example/imageview/main.go
index a756d8d..49ec839 100644
--- a/shiny/example/imageview/main.go
+++ b/shiny/example/imageview/main.go
@@ -58,7 +58,11 @@
 			log.Fatal(err)
 		}
 		w := widget.NewSheet(widget.NewImage(src, src.Bounds()))
-		if err := widget.RunWindow(s, w, nil); err != nil {
+		if err := widget.RunWindow(s, w, &widget.RunWindowOptions{
+			NewWindowOptions: screen.NewWindowOptions{
+				Title: "ImageView Shiny Example",
+			},
+		}); err != nil {
 			log.Fatal(err)
 		}
 	})
diff --git a/shiny/example/textedit/main.go b/shiny/example/textedit/main.go
index b47ba17..e72358e 100644
--- a/shiny/example/textedit/main.go
+++ b/shiny/example/textedit/main.go
@@ -59,7 +59,11 @@
 			stretch(widget.NewSheet(body), 1),
 		)
 
-		if err := widget.RunWindow(s, w, nil); err != nil {
+		if err := widget.RunWindow(s, w, &widget.RunWindowOptions{
+			NewWindowOptions: screen.NewWindowOptions{
+				Title: "TextEdit Shiny Example",
+			},
+		}); err != nil {
 			log.Fatal(err)
 		}
 	})
diff --git a/shiny/example/tile/main.go b/shiny/example/tile/main.go
index 8d91cdc..dfb4526 100644
--- a/shiny/example/tile/main.go
+++ b/shiny/example/tile/main.go
@@ -33,7 +33,9 @@
 
 func main() {
 	driver.Main(func(s screen.Screen) {
-		w, err := s.NewWindow(nil)
+		w, err := s.NewWindow(&screen.NewWindowOptions{
+			Title: "Tile Shiny Example",
+		})
 		if err != nil {
 			log.Fatal(err)
 		}
diff --git a/shiny/example/widgetgallery/main.go b/shiny/example/widgetgallery/main.go
index 17e8844..ed926a8 100644
--- a/shiny/example/widgetgallery/main.go
+++ b/shiny/example/widgetgallery/main.go
@@ -71,7 +71,11 @@
 	driver.Main(func(s screen.Screen) {
 		// TODO: create a bunch of standard widgets: buttons, labels, etc.
 		w := widget.NewSheet(newCustom())
-		if err := widget.RunWindow(s, w, nil); err != nil {
+		if err := widget.RunWindow(s, w, &widget.RunWindowOptions{
+			NewWindowOptions: screen.NewWindowOptions{
+				Title: "WidgetGallery Shiny Example",
+			},
+		}); err != nil {
 			log.Fatal(err)
 		}
 	})
