+ <xs:simpleType name="bool">
+ <!-- this is copied to maximization. Keep that in sync. -->
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="on"/>
+ <xs:enumeration value="off"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="fontweight">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="normal"/>
+ <xs:enumeration value="bold"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="fontslant">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="normal"/>
+ <xs:enumeration value="italic"/>
+ <xs:enumeration value="opaque"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="button">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Left"/>
+ <xs:enumeration value="Middle"/>
+ <xs:enumeration value="Right"/>
+ <xs:enumeration value="Up"/>
+ <xs:enumeration value="Down"/>
+ <xs:enumeration value="A-Left"/>
+ <xs:enumeration value="A-Middle"/>
+ <xs:enumeration value="A-Right"/>
+ <xs:enumeration value="A-Up"/>
+ <xs:enumeration value="A-Down"/>
+ <xs:enumeration value="C-A-Left"/>
+ <xs:enumeration value="C-A-Middle"/>
+ <xs:enumeration value="C-A-Right"/>
+ <xs:enumeration value="C-A-Up"/>
+ <xs:enumeration value="C-A-Down"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="center_or_int">
+ <xs:restriction base="xs:string">
+ <!-- ob: atoi($_) unless $_ eq 'center'; -->
+ <!-- I think the regexp DTRT WRT atoi. -->
+ <xs:pattern value="center|0|[1-9][0-9]*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="contextname">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Desktop"/>
+ <xs:enumeration value="Client"/>
+ <xs:enumeration value="Titlebar"/>
+ <xs:enumeration value="Handle"/>
+ <xs:enumeration value="Frame"/>
+ <xs:enumeration value="TLCorner"/>
+ <xs:enumeration value="TRCorner"/>
+ <xs:enumeration value="BLCorner"/>
+ <xs:enumeration value="BRCorner"/>
+ <xs:enumeration value="Maximize"/>
+ <xs:enumeration value="AllDesktops"/>
+ <xs:enumeration value="Shade"/>
+ <xs:enumeration value="Iconify"/>
+ <xs:enumeration value="Icon"/>
+ <xs:enumeration value="Close"/>
+ <xs:enumeration value="MoveResize"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="direction">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Horizontal"/>
+ <xs:enumeration value="Vertical"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="dock_position">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="TopLeft"/>
+ <xs:enumeration value="Top"/>
+ <xs:enumeration value="TopRight"/>
+ <xs:enumeration value="Right"/>
+ <xs:enumeration value="BottomRight"/>
+ <xs:enumeration value="Bottom"/>
+ <xs:enumeration value="BottomLeft"/>
+ <xs:enumeration value="Left"/>
+ <xs:enumeration value="Floating"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="keyname">
+ <xs:restriction base="xs:string">
+ <!-- FIXME: M, Mod2, Mod5 in addition to S, A, C -->
+ <!-- how do we do all substrings and permutations? -->
+ <xs:pattern value="(A-)?(S-)?(A-)?(C-)?(A-)?(S-)?(A-)?[a-zA-Z0-9]*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="layer">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Top"/>
+ <xs:enumeration value="Normal"/>
+ <xs:enumeration value="Bottom"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="maximization">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Horizontal"/>
+ <xs:enumeration value="Vertical"/>
+ <!-- this is a copy of ob:bool. Keep it in sync. -->
+ <xs:enumeration value="yes"/>
+ <xs:enumeration value="no"/>
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="on"/>
+ <xs:enumeration value="off"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="mouseaction">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Click"/>
+ <xs:enumeration value="DoubleClick"/>
+ <xs:enumeration value="Drag"/>
+ <xs:enumeration value="Press"/>
+ <xs:enumeration value="Release"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="placementpolicy">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Smart"/>
+ <xs:enumeration value="UnderMouse"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="popupposition">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Top"/>
+ <xs:enumeration value="Center"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="popupshow">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Always"/>
+ <xs:enumeration value="Never"/>
+ <xs:enumeration value="Nonpixel"/>
+ </xs:restriction>
+ </xs:simpleType>