[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

XEmbed: 1. Capabilities

Hi all,

following several messages present our suggestions on extending XEmbed
protocol to incorporate a number of features that are important for
us. Each message contains one numbered part which is a separate
proposal, all of them depend on the part #1.

1. Capabilities

I propose to add the embedder side property describing embedder capabilities(along with existing
XEMBED_INFO client capabilities) so that:
- client would be able to identify embedder
- client can behave according to embedder capabilities

I think the list of capabilities(both on client and embedder) should be dynamic(it can change during
session) so that:
- embedder and client could adjust to fit each other
- embedder and client could be implemented as abstract layers between toolkits with dynamic

Both embedder and client might listen for capability changes and might
react accordingly(most oftenly it will be mentioned separately in
specification for capability).

No side S1 should assume specific behavior of another side S2 if S1 has some capability listed
unless S2 indicated support for this capability as well according to this capability
specification. This guarantees forward compatibility - side with support for some capability should
normally work with side without this support. And, backwardly, side with unsupported capability
wouldn't notice new capability and won't receive messages it can't interpret correctly.

To support growing list of capabilities and to support capabilities with options I suggest to add
capabilities list property: XEMBED_SUPPORTED, ATOM[]/32. Also, to add the flag to XEMBED_INFO flag:
XEMBED_SUPPORTED, which indicates presence and validity of XEMBED_SUPPORTED property. This
property can be on both client and embedder and should describe capabilities of the XEmbed

Thank you,

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]