Revision control

++ # Internal Qt protocol extensions
++
++ The protocol extensions in this folder are considered implementation details of
++ Qt. I.e. they may be removed, renamed or changed without warning.
++
++ However, starting with Qt 5.4, we promise not to break backwards compatibility
++ without renaming (or removing) the protocol. I.e., if your client sees a global
++ from one of these extensions, it can safely bind to it: the existing events
++ and requests will always take the same number of arguments, regardless of
++ compositor version.
++
++ This is important also within a Qt-only scope if there are multiple versions of
++ Qt on the system. Consider for instance an application statically linked to Qt
++ (such as Qt Creator) running against a Qt compositor installed by the distro).
++ In such cases we don't want the compositor and client to disagree on the
++ protocol definition.
++
++ ## Protocol versioning.
++
++ Protocol extensions in this folder should be versioned (e.g. `zqt_key_v1`).
++ If it is necessary to break protocol compatibility, they will be renamed by
++ incrementing the version number. For legacy reasons, there are also unversioned
++ protocols in this folder. Those protocols should be renamed to be versioned
++ if compatibility is broken.