server: zmp.check subwindow.
client: zmp.support subwindow.open
client: zmp.support subwindow.close
client: zmp.support subwindow.select
client: zmp.support subwindow.size
client: zmp.nosupport subwindow.input
cilent: zmp.nosupport subwindow.set-input
server: zmp.check subwindow.
client: zmp.support subwindow.open
client: zmp.support subwindow.close
client: zmp.support subwindow.select
client: zmp.support subwindow.size
client: zmp.nosupport subwindow.input
cilent: zmp.nosupport subwindow.set-input
server: zmp.check subwindow.
client: zmp.support subwindow. subwindow.open subwindow.close subwindow.size subwindow.select
server: zmp.check subwindow.
client: zmp.nosupport subwindow.
zmp.register("package.foo", closure() { blah });
zmp.register("package", "2.4+", list {
list { "foo", "required", closure() { blah } },
list { "bar", "optional", nil }
})
<zmp:interface>
<zmp:package zmp:name="mypackage" zmp:version="2.1">
<zmp:command zmp:name="foo">
<zmp:parameters>
<zmp:parameter zmp:name="identifier" zmp:type="string" zmp:min-length="1" zmp:min-length="20" zmp:match="^[a0z]$"/>
<zmp:parameter zmp:name="some flag" zmp:type="bool"/>
<zmp:parameter-group zmp:name="variables" zmp:min-count="1">
<zmp:parameter zmp:name="key" zmp:type="string" zmp:min-length="1" zmp:match="^\w+$"/>
<zmp:parameter zmp:name="value" zmp:type="mixed"/>
</zmp:parameter-group>
</zmp:parameters>
<zmp:response>
</zmp:response>
</zmp:command>
</zmp:package>
</zmp:interface>
I plan on updating the spec to remove the requirement of this behavior. It simplifies the implementation of zmp.check greatly, and we can safely assume nobody is using package checking at this point given the lack of official packages. (Though Les let me know that gnome-mud know has preliminary support for the subwindow package!)
Someone (forget who) also mentioned the possibility of a zmp.check-all command that would tell the other side to send a zmp.support command for every supported command. That would cause a small flurry of activity on connect, but nothing that I think is even remotely close to "excessive."
So, does that sound like a plan to everyone?