diff --git a/protocols/schema-bundle.bin b/protocols/schema-bundle.bin
index a07eb8a..373f167 100644
--- a/protocols/schema-bundle.bin
+++ b/protocols/schema-bundle.bin
@@ -1,7 +1,8 @@
 ´³bundle·µ³ui„´³schema·³version‘³definitions·³Fill´³orµµ±fixed´³atom³Double„„µ±fill´³rec´³lit³fill„´³tupleµ´³named³weight´³atom³
SignedInteger„„´³named³rank´³atom³
SignedInteger„„„„„„„„³Root´³rec´³lit³root„´³tupleµ´³named³id´³refµ„³WidgetId„„´³named³order´³refµ„³SortKey„„„„„³Click´³rec´³lit³click„´³tupleµ´³named³widget´³refµ„³WidgetId„„„„„³Color´³rec´³lit³rgba„´³tupleµ´³named³red´³atom³Double„„´³named³green´³atom³Double„„´³named³blue´³atom³Double„„´³named³alpha´³atom³Double„„„„„³State´³rec´³lit³state„´³tupleµ´³named³widget´³refµ„³WidgetId„„´³named³key³any„´³named³value³any„„„„³Touch´³rec´³lit³touch„´³tupleµ´³named³widget´³refµ„³WidgetId„„´³named³touchId³any„„„„³Parent´³rec´³lit³parent„´³tupleµ´³named³id´³refµ„³WidgetId„„´³named³parentId´³refµ„³WidgetId„„´³named³order´³refµ„³SortKey„„„„„³Sizing´³rec´³lit³sizing„´³tupleµ´³named³ideal´³atom³Double„„´³named³stretch´³refµ„³Fill„„´³named³shrink´³refµ„³Fill„„„„„³Widget´³rec´³lit³widget„´³tupleµ´³named³id´³refµ„³WidgetId„„´³named³type´³refµ„³
 WidgetType„„„„„³Window´³rec´³lit³window„´³tupleµ´³named³title´³atom³String„„´³named³space´³embedded³any„„„„„³BoxSize´³rec´³lit³box-size„´³tupleµ´³named³
-horizontal´³refµ„³Sizing„„´³named³vertical´³refµ„³Sizing„„„„„³SortKey´³orµµ±double´³atom³Double„„µ±string´³atom³String„„„„³LeafType´³orµµ±blank´³lit³blank„„µ±text´³lit³text„„µ±slider´³lit³slider„„„„³NodeType´³orµµ±column´³lit³column„„µ±row´³lit³row„„„„³WidgetId³any³	Attribute´³rec´³lit³	attribute„´³tupleµ´³named³id´³refµ„³WidgetId„„´³named³key´³atom³Symbol„„´³named³value³any„„„„³
-WidgetType´³orµµ±NodeType´³refµ„³NodeType„„µ±LeafType´³refµ„³LeafType„„„„³WidgetInstance´³rec´³lit³widget-instance„´³tupleµ´³named³id´³refµ„³WidgetId„„´³named³instance´³embedded³any„„„„„„³embeddedType€„„µ³hayes„´³schema·³version‘³definitions·³Result´³rec´³lit³result„´³tupleµ´³named³text´³atom³String„„´³named³tag´³refµ„³MaybeString„„´³named³fields´³refµ„³MaybeStrings„„„„„³MaybeString´³orµµ±present´³atom³String„„µ±absent´³lit€„„„„³MaybeStrings´³orµµ±present´³seqof´³atom³String„„„µ±absent´³lit€„„„„³ModemPresent´³rec´³lit³modem„´³tupleµ´³lit³hayes„´³named³
+horizontal´³refµ„³Sizing„„´³named³vertical´³refµ„³Sizing„„„„„³SortKey´³orµµ±double´³atom³Double„„µ±string´³atom³String„„„„³LeafType´³orµµ±blank´³lit³blank„„µ±text´³lit³text„„µ±slider´³lit³slider„„µ±image´³lit³image„„µ±icon´³lit³icon„„„„³NodeType´³orµµ±column´³lit³column„„µ±row´³lit³row„„„„³WidgetId³any³	Attribute´³rec´³lit³	attribute„´³tupleµ´³named³id´³refµ„³WidgetId„„´³named³key´³atom³Symbol„„´³named³value³any„„„„³
+WidgetType´³orµµ±NodeType´³refµ„³NodeType„„µ±LeafType´³refµ„³LeafType„„„„³WidgetInstance´³rec´³lit³widget-instance„´³tupleµ´³named³id´³refµ„³WidgetId„„´³named³instance´³embedded³any„„„„„³WindowCloseable´³rec´³lit³window-closeable„´³tupleµ„„„„³embeddedType€„„µ³mime„´³schema·³version‘³definitions·³Value´³rec´³lit³mime„´³tupleµ´³named³type´³atom³Symbol„„´³named³data´³atom³
+ByteString„„„„„„³embeddedType€„„µ³hayes„´³schema·³version‘³definitions·³Result´³rec´³lit³result„´³tupleµ´³named³text´³atom³String„„´³named³tag´³refµ„³MaybeString„„´³named³fields´³refµ„³MaybeStrings„„„„„³MaybeString´³orµµ±present´³atom³String„„µ±absent´³lit€„„„„³MaybeStrings´³orµµ±present´³seqof´³atom³String„„„µ±absent´³lit€„„„„³ModemPresent´³rec´³lit³modem„´³tupleµ´³lit³hayes„´³named³
 devicePath´³atom³String„„´³named³	dataspace´³embedded´³refµ„³InternalProtocol„„„„„„³
CommandResult´³rec´³lit³command-result„´³tupleµ´³named³commandText´³atom³String„„´³named³results´³seqof´³refµ„³Result„„„´³named³finalResult´³atom³String„„„„„³ExecuteCommand´³rec´³lit³execute-command„´³tupleµ´³named³commandText´³atom³String„„´³named³replyTo´³refµ„³CommandContinuation„„„„„³InternalProtocol³any³CommandContinuation´³orµµ±replyWanted´³embedded´³refµ„³
CommandResult„„„µ±
fireAndForget´³lit€„„„„³UnsolicitedResultCode´³rec´³lit³unsolicited„´³tupleµ´³named³result´³refµ„³Result„„„„„„³embeddedType€„„µ³	telephony„´³schema·³version‘³definitions·³CallId´³atom³
SignedInteger„³CallType´³orµµ±voice´³lit³voice„„µ±data´³lit³data„„µ±fax´³lit³fax„„„„³	CallState´³orµµ±hold´³lit³hold„„µ±original´³lit³original„„µ±connect´³lit³connect„„µ±incoming´³lit³incoming„„µ±waiting´³lit³waiting„„µ±end´³lit³end„„µ±alerting´³lit³alerting„„„„³	PlaceCall´³rec´³lit³
 place-call„´³tupleµ´³named³
 devicePath´³atom³String„„´³named³peer´³atom³String„„„„„³
diff --git a/protocols/schemas/ui.prs b/protocols/schemas/ui.prs
index 52afa4b..241328b 100644
--- a/protocols/schemas/ui.prs
+++ b/protocols/schemas/ui.prs
@@ -21,6 +21,9 @@ Click = <click @widget WidgetId> .
 ; Assertion
 State = <state @widget WidgetId @key any @value any> .
 
+; Assertion. Marks the window as closeable.
+WindowCloseable = <window-closeable> .
+
 ; Data types
 
 WidgetId = any .
@@ -37,6 +40,8 @@ LeafType =
 / =blank
 / =text
 / =slider
+/ =image
+/ =icon
 .
 
 Color = <rgba @red double @green double @blue double @alpha double> .
