The three most important suites, generated by gensuitemodule

This commit is contained in:
Jack Jansen 1995-07-17 11:43:59 +00:00
parent 5ccd826aab
commit bc608646a8
3 changed files with 2312 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,147 @@
"""Suite Required Suite: Terms that every application should support
Level 1, version 1
Generated from Moes:System folder:Extensions:Scripting Additions:Dialects:English Dialect
AETE/AEUT resource version 1/0, language 0, script 0
"""
import addpack
addpack.addpack('Tools')
addpack.addpack('bgen')
addpack.addpack('ae')
import aetools
import MacOS
_code = 'reqd'
class Required_Suite:
def open(self, object, *arguments):
"""open: Open the specified object(s)
Required argument: list of objects to open
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'aevt'
_subcode = 'odoc'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
def _print(self, object, *arguments):
"""print: Print the specified object(s)
Required argument: list of objects to print
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'aevt'
_subcode = 'pdoc'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
def quit(self, *arguments):
"""quit: Quit application
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'aevt'
_subcode = 'quit'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
def run(self, *arguments):
"""run: Sent to an application when it is double-clicked
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'aevt'
_subcode = 'oapp'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']

View File

@ -0,0 +1,663 @@
"""Suite Standard Suite: Common terms for most applications
Level 1, version 1
Generated from Moes:Programma's:Speech Technology:Scriptable Text Editor
AETE/AEUT resource version 1/0, language 0, script 0
"""
import addpack
addpack.addpack('Tools')
addpack.addpack('bgen')
addpack.addpack('ae')
import aetools
import MacOS
_code = 'CoRe'
_Enum_savo = {
'yes' : 'yes ', # Save objects now
'no' : 'no ', # Do not save objects
'ask' : 'ask ', # Ask the user whether to save
}
_Enum_kfrm = {
'index' : 'indx', # keyform designating indexed access
'named' : 'name', # keyform designating named access
'id' : 'ID ', # keyform designating identifer access
}
class Standard_Suite:
_argmap_close = {
'saving' : 'savo',
'saving_in' : 'kfil',
}
def close(self, object, *arguments):
"""close: Close an object
Required argument: the object to close
Keyword argument saving: Specifies whether or not changes should be saved before closing
Keyword argument saving_in: the file in which to save the object
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'core'
_subcode = 'clos'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_close)
aetools.enumsubst(arguments, 'savo', _Enum_savo)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_count = {
'each' : 'kocl',
}
def count(self, object, *arguments):
"""count: Return the number of elements of a particular class within an object
Required argument: the object whose elements are to be counted
Keyword argument each: the class of the elements to be counted. Keyword 'each' is optional in AppleScript
Keyword argument _attributes: AppleEvent attribute dictionary
Returns: the number of elements
"""
_code = 'core'
_subcode = 'cnte'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_count)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_data_size = {
'as' : 'rtyp',
}
def data_size(self, object, *arguments):
"""data size: Return the size in bytes of an object
Required argument: the object whose data size is to be returned
Keyword argument as: the data type for which the size is calculated
Keyword argument _attributes: AppleEvent attribute dictionary
Returns: the size of the object in bytes
"""
_code = 'core'
_subcode = 'dsiz'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_data_size)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
def delete(self, object, *arguments):
"""delete: Delete an element from an object
Required argument: the element to delete
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'core'
_subcode = 'delo'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_duplicate = {
'to' : 'insh',
}
def duplicate(self, object, *arguments):
"""duplicate: Duplicate object(s)
Required argument: the object(s) to duplicate
Keyword argument to: the new location for the object(s)
Keyword argument _attributes: AppleEvent attribute dictionary
Returns: to the duplicated object(s)
"""
_code = 'core'
_subcode = 'clon'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_duplicate)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
def exists(self, object, *arguments):
"""exists: Verify if an object exists
Required argument: the object in question
Keyword argument _attributes: AppleEvent attribute dictionary
Returns: true if it exists, false if not
"""
_code = 'core'
_subcode = 'doex'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_get = {
'as' : 'rtyp',
}
def get(self, object, *arguments):
"""get: Get the data for an object
Required argument: the object whose data is to be returned
Keyword argument as: the desired types for the data, in order of preference
Keyword argument _attributes: AppleEvent attribute dictionary
Returns: The data from the object
"""
_code = 'core'
_subcode = 'getd'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_get)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_make = {
'new' : 'kocl',
'at' : 'insh',
'with_data' : 'data',
'with_properties' : 'prdt',
}
def make(self, *arguments):
"""make: Make a new element
Keyword argument new: the class of the new element. Keyword 'new' is optional in AppleScript
Keyword argument at: the location at which to insert the element
Keyword argument with_data: the initial data for the element
Keyword argument with_properties: the initial values for the properties of the element
Keyword argument _attributes: AppleEvent attribute dictionary
Returns: to the new object(s)
"""
_code = 'core'
_subcode = 'crel'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_make)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_move = {
'to' : 'insh',
}
def move(self, object, *arguments):
"""move: Move object(s) to a new location
Required argument: the object(s) to move
Keyword argument to: the new location for the object(s)
Keyword argument _attributes: AppleEvent attribute dictionary
Returns: to the object(s) after they have been moved
"""
_code = 'core'
_subcode = 'move'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_move)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
def open(self, object, *arguments):
"""open: Open the specified object(s)
Required argument: list of objects to open
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'aevt'
_subcode = 'odoc'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
def _print(self, object, *arguments):
"""print: Print the specified object(s)
Required argument: list of objects to print
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'aevt'
_subcode = 'pdoc'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_quit = {
'saving' : 'savo',
}
def quit(self, *arguments):
"""quit: Quit an application program
Keyword argument saving: Specifies whether or not to save currently open documents
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'aevt'
_subcode = 'quit'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_quit)
aetools.enumsubst(arguments, 'savo', _Enum_savo)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_save = {
'_in' : 'kfil',
'as' : 'fltp',
}
def save(self, object, *arguments):
"""save: Save an object
Required argument: the object to save
Keyword argument _in: the file in which to save the object
Keyword argument as: the file type of the document in which to save the data
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'core'
_subcode = 'save'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_save)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
_argmap_set = {
'to' : 'data',
}
def set(self, object, *arguments):
"""set: Set an object's data
Required argument: the object to change
Keyword argument to: the new value
Keyword argument _attributes: AppleEvent attribute dictionary
"""
_code = 'core'
_subcode = 'setd'
if len(arguments) > 1:
raise TypeError, 'Too many arguments'
if arguments:
arguments = arguments[0]
if type(arguments) <> type({}):
raise TypeError, 'Must be a mapping'
else:
arguments = {}
arguments['----'] = object
if arguments.has_key('_attributes'):
attributes = arguments['_attributes']
del arguments['_attributes']
else:
attributes = {}
aetools.keysubst(arguments, self._argmap_set)
reply, arguments, attributes = self.send(_code, _subcode,
arguments, attributes)
if arguments.has_key('errn'):
raise MacOS.Error, aetools.decodeerror(arguments)
# XXXX Optionally decode result
if arguments.has_key('----'):
return arguments['----']
# Class 'application' ('capp') -- 'An application program'
# property 'clipboard' ('pcli') '****' -- 'contents of the clipboard' [mutable list]
# property 'frontmost' ('pisf') 'bool' -- 'Is this the frontmost application?' []
# property 'name' ('pnam') 'itxt' -- 'the name' []
# property 'selection' ('sele') 'csel' -- 'the selection visible to the user' [mutable]
# property 'version' ('vers') 'vers' -- 'the version of the application' []
# property 'text item delimiters' ('txdl') 'list' -- 'a list of all the text item delimiters' [mutable]
# element 'docu' as ['indx', 'name', 'rang', 'test']
# element 'cwin' as ['indx', 'name', 'rang', 'test']
# Class 'applications' ('capp') -- 'Every application'
# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0]
# Class 'document' ('docu') -- 'A document'
# property 'bounds' ('pbnd') 'qdrt' -- 'the boundary rectangle for the document' [mutable]
# property 'closeable' ('hclb') 'bool' -- 'Does the document have a close box?' []
# property 'titled' ('ptit') 'bool' -- 'Does the document have a title bar?' []
# property 'index' ('pidx') 'long' -- 'the number of the document' [mutable]
# property 'floating' ('isfl') 'bool' -- 'Does the document float?' []
# property 'modal' ('pmod') 'bool' -- 'Is the document modal?' []
# property 'resizable' ('prsz') 'bool' -- 'Is the document resizable?' []
# property 'zoomable' ('iszm') 'bool' -- 'Is the document zoomable?' []
# property 'zoomed' ('pzum') 'bool' -- 'Is the document zoomed?' [mutable]
# property 'name' ('pnam') 'itxt' -- 'the title of the document' [mutable]
# property 'selection' ('sele') 'csel' -- 'the selection visible to the user' [mutable]
# property 'visible' ('pvis') 'bool' -- 'Is the document visible?' []
# property 'modified' ('imod') 'bool' -- 'Has the document been modified since the last save?' []
# property 'position' ('ppos') 'QDpt' -- 'upper left coordinates of the document' []
# element 'cha ' as ['indx', 'rele', 'rang', 'test']
# element 'cins' as ['rele']
# element 'cpar' as ['indx', 'rele', 'rang', 'test']
# element 'ctxt' as ['rang']
# element 'citm' as ['indx', 'rele', 'rang', 'test']
# element 'cwor' as ['indx', 'rele', 'rang', 'test']
# Class 'documents' ('docu') -- 'Every document'
# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0]
# Class 'file' ('file') -- 'A file'
# Class 'files' ('file') -- 'Every file'
# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0]
# Class 'insertion point' ('cins') -- 'An insertion location between two objects'
# property 'length' ('leng') 'long' -- 'length of text object (in characters)' []
# property 'offset' ('ofse') 'long' -- 'offset of a text object from the beginning of the document (first char has offset 1)' []
# property 'font' ('font') 'ctxt' -- 'the name of the font' [mutable]
# property 'size' ('ptsz') 'long' -- 'the size in points' [mutable]
# property 'style' ('txst') 'tsty' -- 'the text style' [mutable]
# property 'uniform styles' ('ustl') 'tsty' -- 'the text style' []
# property 'writing code' ('psct') 'intl' -- 'the script system and language' [mutable]
# Class 'insertion points' ('cins') -- 'Every insertion location'
# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0]
# Class 'selection-object' ('csel') -- 'the selection visible to the user'
# property 'contents' ('pcnt') 'type' -- 'the contents of the selection' [mutable]
# property 'length' ('leng') 'long' -- 'length of text object (in characters)' []
# property 'offset' ('ofse') 'long' -- 'offset of a text object from the beginning of the document (first char has offset 1)' []
# property 'font' ('font') 'ctxt' -- 'the name of the font' [mutable]
# property 'size' ('ptsz') 'long' -- 'the size in points' [mutable]
# property 'style' ('txst') 'tsty' -- 'the text style' [mutable]
# property 'uniform styles' ('ustl') 'tsty' -- 'the text style' []
# property 'writing code' ('psct') 'intl' -- 'the script system and language' [mutable]
# element 'cha ' as ['indx', 'rele', 'rang', 'test']
# element 'cpar' as ['indx', 'rele', 'rang', 'test']
# element 'ctxt' as ['rang']
# element 'citm' as ['indx', 'rele', 'rang', 'test']
# element 'cwor' as ['indx', 'rele', 'rang', 'test']
# Class 'window' ('cwin') -- 'A window'
# property 'bounds' ('pbnd') 'qdrt' -- 'the boundary rectangle for the window' [mutable]
# property 'closeable' ('hclb') 'bool' -- 'Does the window have a close box?' []
# property 'titled' ('ptit') 'bool' -- 'Does the window have a title bar?' []
# property 'index' ('pidx') 'long' -- 'the number of the window' [mutable]
# property 'floating' ('isfl') 'bool' -- 'Does the window float?' []
# property 'modal' ('pmod') 'bool' -- 'Is the window modal?' []
# property 'resizable' ('prsz') 'bool' -- 'Is the window resizable?' []
# property 'zoomable' ('iszm') 'bool' -- 'Is the window zoomable?' []
# property 'zoomed' ('pzum') 'bool' -- 'Is the window zoomed?' [mutable]
# property 'name' ('pnam') 'itxt' -- 'the title of the window' [mutable]
# property 'selection' ('sele') 'csel' -- 'the selection visible to the user' [mutable]
# property 'visible' ('pvis') 'bool' -- 'is the window visible?' []
# property 'modified' ('imod') 'bool' -- 'has the window been modified since the last save?' []
# property 'position' ('ppos') 'QDpt' -- 'upper left coordinates of window' []
# element 'cha ' as ['indx', 'rele', 'rang', 'test']
# element 'cins' as ['rele']
# element 'cpar' as ['indx', 'rele', 'rang', 'test']
# element 'ctxt' as ['rang']
# element 'citm' as ['indx', 'rele', 'rang', 'test']
# element 'cwor' as ['indx', 'rele', 'rang', 'test']
# Class 'windows' ('cwin') -- 'Every window'
# property 'class attributes' ('c@#!') 'type' -- 'special class attributes' [0]