From e7f776af3dffbc3bd0c775c73f9223ae4d2a9e5e Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sat, 30 Mar 2002 23:46:16 +0000 Subject: Suite to talk to the OSX Terminal application. --- .../lib-scriptpackages/Terminal/Terminal_Suite.py | 317 +++++++++++++++++++++ Mac/Lib/lib-scriptpackages/Terminal/__init__.py | 28 ++ 2 files changed, 345 insertions(+) create mode 100644 Mac/Lib/lib-scriptpackages/Terminal/Terminal_Suite.py create mode 100644 Mac/Lib/lib-scriptpackages/Terminal/__init__.py diff --git a/Mac/Lib/lib-scriptpackages/Terminal/Terminal_Suite.py b/Mac/Lib/lib-scriptpackages/Terminal/Terminal_Suite.py new file mode 100644 index 0000000..8fe78b1 --- /dev/null +++ b/Mac/Lib/lib-scriptpackages/Terminal/Terminal_Suite.py @@ -0,0 +1,317 @@ +"""Suite Terminal Suite: Terms and Events for controlling the Terminal application +Level 1, version 1 + +Generated from /Applications/Utilities/Terminal.app/Contents/Resources/Terminal.rsrc +AETE/AEUT resource version 1/0, language 0, script 0 +""" + +import aetools +import MacOS + +_code = 'trmx' + +class Terminal_Suite_Events: + + def run(self, _no_object=None, _attributes={}, **_arguments): + """run: Run the Terminal application + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'core' + _subcode = 'oapp' + + if _arguments: raise TypeError, 'No optional args expected' + if _no_object != None: raise TypeError, 'No direct arg expected' + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise aetools.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + def quit(self, _no_object=None, _attributes={}, **_arguments): + """quit: Quit the Terminal application + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'core' + _subcode = 'quit' + + if _arguments: raise TypeError, 'No optional args expected' + if _no_object != None: raise TypeError, 'No direct arg expected' + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise aetools.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + def count(self, _object=None, _attributes={}, **_arguments): + """count: Return the number of elements of a particular class within an object + Required argument: a reference to the objects to be counted + Keyword argument _attributes: AppleEvent attribute dictionary + Returns: the number of objects counted + """ + _code = 'core' + _subcode = 'cnte' + + if _arguments: raise TypeError, 'No optional args expected' + _arguments['----'] = _object + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise aetools.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + _argmap_do_script = { + 'with_command' : 'cmnd', + } + + def do_script(self, _no_object=None, _attributes={}, **_arguments): + """do script: Run a UNIX shell script or command + Keyword argument with_command: data to be passed to the Terminal application as the command line + Keyword argument _attributes: AppleEvent attribute dictionary + """ + _code = 'core' + _subcode = 'dosc' + + aetools.keysubst(_arguments, self._argmap_do_script) + if _no_object != None: raise TypeError, 'No direct arg expected' + + + _reply, _arguments, _attributes = self.send(_code, _subcode, + _arguments, _attributes) + if _arguments.has_key('errn'): + raise aetools.Error, aetools.decodeerror(_arguments) + # XXXX Optionally decode result + if _arguments.has_key('----'): + return _arguments['----'] + + +class application(aetools.ComponentItem): + """application - The Terminal program """ + want = 'capp' +class name(aetools.NProperty): + """name - the name of the application """ + which = 'pnam' + want = 'TEXT' +class version(aetools.NProperty): + """version - the version of the application """ + which = 'vers' + want = 'vers' +class frontmost(aetools.NProperty): + """frontmost - Is this the active application? """ + which = 'pisf' + want = 'bool' +# element 'cwin' as ['name', 'indx'] + +applications = application + +class window(aetools.ComponentItem): + """window - A Terminal window """ + want = 'cwin' +class index(aetools.NProperty): + """index - the number of the window """ + which = 'pidx' + want = 'long' +class visible(aetools.NProperty): + """visible - Is the window visible? """ + which = 'pvis' + want = 'bool' +class has_close_box(aetools.NProperty): + """has close box - Does the window have a close box? """ + which = 'hclb' + want = 'bool' +class has_title_bar(aetools.NProperty): + """has title bar - Does the window have a title bar? """ + which = 'ptit' + want = 'bool' +class floating(aetools.NProperty): + """floating - Does the window float? """ + which = 'isfl' + want = 'bool' +class modal(aetools.NProperty): + """modal - Is the window modal? """ + which = 'pmod' + want = 'bool' +class resizable(aetools.NProperty): + """resizable - Is the window resizable? """ + which = 'prsz' + want = 'bool' +class zoomable(aetools.NProperty): + """zoomable - Is the window zoomable? """ + which = 'iszm' + want = 'bool' +class zoomed(aetools.NProperty): + """zoomed - Is the window zoomed? """ + which = 'pzum' + want = 'bool' +class miniaturizable(aetools.NProperty): + """miniaturizable - Is the window miniaturizable? """ + which = 'mini' + want = 'bool' +class miniaturized(aetools.NProperty): + """miniaturized - Is the window miniaturized? """ + which = 'mina' + want = 'bool' +class position(aetools.NProperty): + """position - the upper left coordinates of window """ + which = 'ppos' + want = 'QDpt' +class bounds(aetools.NProperty): + """bounds - the boundary rectangle for the window """ + which = 'pbnd' + want = 'qdrt' +class title_displays_device_name(aetools.NProperty): + """title displays device name - Does the title for the window contain the device name? """ + which = 'tddn' + want = 'bool' +class title_displays_shell_path(aetools.NProperty): + """title displays shell path - Does the title for the window contain the shell path? """ + which = 'tdsp' + want = 'bool' +class title_displays_window_size(aetools.NProperty): + """title displays window size - Does the title for the window contain the window size? """ + which = 'tdws' + want = 'bool' +class title_displays_file_name(aetools.NProperty): + """title displays file name - Does the title for the window contain the file name? """ + which = 'tdfn' + want = 'bool' +class title_displays_custom_title(aetools.NProperty): + """title displays custom title - Does the title for the window contain a custom title? """ + which = 'tdct' + want = 'bool' +class custom_title(aetools.NProperty): + """custom title - the custom title for the window """ + which = 'titl' + want = 'TEXT' +class contents(aetools.NProperty): + """contents - the currently visible contents of the window """ + which = 'pcnt' + want = 'TEXT' +class history(aetools.NProperty): + """history - the contents of the entire scrolling buffer of the window """ + which = 'hist' + want = 'TEXT' +class number_of_rows(aetools.NProperty): + """number of rows - the number of rows in the window """ + which = 'crow' + want = 'long' +class number_of_columns(aetools.NProperty): + """number of columns - the number of columns in the window """ + which = 'ccol' + want = 'long' +class cursor_color(aetools.NProperty): + """cursor color - the cursor color for the window """ + which = 'pcuc' + want = 'TEXT' +class background_color(aetools.NProperty): + """background color - the background color for the window """ + which = 'pbcl' + want = 'TEXT' +class normal_text_color(aetools.NProperty): + """normal text color - the normal text color for the window """ + which = 'ptxc' + want = 'TEXT' +class bold_text_color(aetools.NProperty): + """bold text color - the bold text color for the window """ + which = 'pbtc' + want = 'TEXT' + +windows = window +application._propdict = { + 'name' : name, + 'version' : version, + 'frontmost' : frontmost, +} +application._elemdict = { + 'window' : window, +} +window._propdict = { + 'name' : name, + 'index' : index, + 'visible' : visible, + 'has_close_box' : has_close_box, + 'has_title_bar' : has_title_bar, + 'floating' : floating, + 'modal' : modal, + 'resizable' : resizable, + 'zoomable' : zoomable, + 'zoomed' : zoomed, + 'miniaturizable' : miniaturizable, + 'miniaturized' : miniaturized, + 'position' : position, + 'bounds' : bounds, + 'title_displays_device_name' : title_displays_device_name, + 'title_displays_shell_path' : title_displays_shell_path, + 'title_displays_window_size' : title_displays_window_size, + 'title_displays_file_name' : title_displays_file_name, + 'title_displays_custom_title' : title_displays_custom_title, + 'custom_title' : custom_title, + 'contents' : contents, + 'history' : history, + 'number_of_rows' : number_of_rows, + 'number_of_columns' : number_of_columns, + 'cursor_color' : cursor_color, + 'background_color' : background_color, + 'normal_text_color' : normal_text_color, + 'bold_text_color' : bold_text_color, +} +window._elemdict = { +} + +# +# Indices of types declared in this module +# +_classdeclarations = { + 'cwin' : window, + 'capp' : application, +} + +_propdeclarations = { + 'tdfn' : title_displays_file_name, + 'mini' : miniaturizable, + 'vers' : version, + 'pidx' : index, + 'prsz' : resizable, + 'pbnd' : bounds, + 'mina' : miniaturized, + 'pbcl' : background_color, + 'tddn' : title_displays_device_name, + 'iszm' : zoomable, + 'hclb' : has_close_box, + 'isfl' : floating, + 'pcnt' : contents, + 'ppos' : position, + 'ptxc' : normal_text_color, + 'pcuc' : cursor_color, + 'tdsp' : title_displays_shell_path, + 'pvis' : visible, + 'tdct' : title_displays_custom_title, + 'pmod' : modal, + 'titl' : custom_title, + 'pisf' : frontmost, + 'hist' : history, + 'pzum' : zoomed, + 'crow' : number_of_rows, + 'pnam' : name, + 'ccol' : number_of_columns, + 'tdws' : title_displays_window_size, + 'pbtc' : bold_text_color, + 'ptit' : has_title_bar, +} + +_compdeclarations = { +} + +_enumdeclarations = { +} diff --git a/Mac/Lib/lib-scriptpackages/Terminal/__init__.py b/Mac/Lib/lib-scriptpackages/Terminal/__init__.py new file mode 100644 index 0000000..af92467 --- /dev/null +++ b/Mac/Lib/lib-scriptpackages/Terminal/__init__.py @@ -0,0 +1,28 @@ +""" +Package generated from /Applications/Utilities/Terminal.app/Contents/Resources/Terminal.rsrc +Resource aete resid 0 Terminal Terminology +""" +# Note: hand-edited _signature to 'trmx'. + +import aetools +Error = aetools.Error +import Terminal_Suite + + +_code_to_module = { + 'trmx' : Terminal_Suite, +} + + + +_code_to_fullname = { + 'trmx' : ('Terminal.Terminal_Suite', 'Terminal_Suite'), +} + +from Terminal_Suite import * + + +class Terminal(Terminal_Suite_Events, + aetools.TalkTo): + _signature = 'trmx' + -- cgit v0.12