blob: e52c9cceaa35607bc0dc77aac3dc9c187448d03b [file] [log] [blame]
Jack Jansenebed45f1995-08-14 13:40:05 +00001\section{Built-in Module \sectcode{MacOS}}
Guido van Rossume47da0a1997-07-17 16:34:52 +00002\label{module-MacOS}
Jack Jansenebed45f1995-08-14 13:40:05 +00003\bimodindex{MacOS}
4
Fred Drake19479911998-02-13 06:58:54 +00005\setindexsubitem{(in module MacOS)}
Jack Jansenebed45f1995-08-14 13:40:05 +00006
7This module provides access to MacOS specific functionality in the
8python interpreter, such as how the interpreter eventloop functions
9and the like. Use with care.
10
11Note the capitalisation of the module name, this is a historical
12artefact.
13
14\begin{excdesc}{Error}
15This exception is raised on MacOS generated errors, either from
16functions in this module or from other mac-specific modules like the
17toolbox interfaces. The arguments are the integer error code (the
18\var{OSErr} value) and a textual description of the error code.
Guido van Rossum7e42cab1996-10-15 14:37:31 +000019Symbolic names for all known error codes are defined in the standard
20module \var{macerrors}.
Jack Jansenebed45f1995-08-14 13:40:05 +000021\end{excdesc}
22
Guido van Rossume229d861997-08-18 15:14:26 +000023\begin{funcdesc}{SetEventHandler}{handler}
24In the inner interpreter loop Python will occasionally check for events,
25unless disabled with \var{ScheduleParams}. With this function you
26can pass a Python event-handler function that will be called if an event
27is available. The event is passed as parameter and the function should return
28non-zero if the event has been fully processed, otherwise event processing
29continues (by passing the event to the console window package, for instance).
Jack Jansenebed45f1995-08-14 13:40:05 +000030
Guido van Rossume229d861997-08-18 15:14:26 +000031Call SetEventHandler without parameter to clear the event handler. Setting
32an eventhandler while one is already set is an error.
Jack Jansenebed45f1995-08-14 13:40:05 +000033\end{funcdesc}
34
Fred Drake671fe9d1997-12-29 18:53:31 +000035\begin{funcdesc}{SchedParams}{\optional{doint, evtmask, besocial, interval, bgyield}}
Guido van Rossume229d861997-08-18 15:14:26 +000036Influence the interpreter inner loop event handling. \var{Interval}
37specifies how often (in seconds, floating point) the interpreter
38should enter the event processing code. When true, \var{doint} causes
39interrupt (command-dot) checking to be done. \var{Evtmask} tells the
40interpreter to do event processing for events in the mask (redraws,
Fred Drake289f97d1997-08-22 13:51:31 +000041mouseclicks to switch to other applications, etc). The \var{besocial}
42flag gives other processes a chance to run. They are granted minimal
Guido van Rossume229d861997-08-18 15:14:26 +000043runtime when Python is in the foreground and \var{bgyield} seconds per
44\var{interval} when Python runs in the background.
Jack Jansenebed45f1995-08-14 13:40:05 +000045
Guido van Rossume229d861997-08-18 15:14:26 +000046All parameters are optional, and default to the current value. The return
47value of this function is a tuple with the old values of these options.
48Initial defaults are that all processing is enabled, checking is done every
49quarter second and the CPU is given up for a quarter second when in the
50background.
Jack Jansenebed45f1995-08-14 13:40:05 +000051\end{funcdesc}
52
53\begin{funcdesc}{HandleEvent}{ev}
54Pass the event record \code{ev} back to the python event loop, or
55possibly to the handler for the \code{sys.stdout} window (based on the
56compiler used to build python). This allows python programs that do
57their own event handling to still have some command-period and
58window-switching capability.
Guido van Rossume229d861997-08-18 15:14:26 +000059
60If you attempt to call this function from an event handler set through
61\code{SetEventHandler} you will get an exception.
Jack Jansenebed45f1995-08-14 13:40:05 +000062\end{funcdesc}
63
64\begin{funcdesc}{GetErrorString}{errno}
65Return the textual description of MacOS error code \var{errno}.
66\end{funcdesc}
Guido van Rossum66774a91996-07-21 02:20:58 +000067
68\begin{funcdesc}{splash}{resid}
69This function will put a splash window
70on-screen, with the contents of the DLOG resource specified by
71\code{resid}. Calling with a zero argument will remove the splash
Guido van Rossum7e42cab1996-10-15 14:37:31 +000072screen. This function is useful if you want an applet to post a splash screen
Guido van Rossum66774a91996-07-21 02:20:58 +000073early in initialization without first having to load numerous
74extension modules.
75\end{funcdesc}
76
Fred Drake671fe9d1997-12-29 18:53:31 +000077\begin{funcdesc}{DebugStr}{message \optional{, object}}
Guido van Rossum7e42cab1996-10-15 14:37:31 +000078Drop to the low-level debugger with message \var{message}. The
79optional \var{object} argument is not used, but can easily be
80inspected from the debugger.
81
82Note that you should use this function with extreme care: if no
83low-level debugger like MacsBug is installed this call will crash your
84system. It is intended mainly for developers of Python extension
85modules.
86\end{funcdesc}
87
Fred Drake671fe9d1997-12-29 18:53:31 +000088\begin{funcdesc}{openrf}{name \optional{, mode}}
Guido van Rossum66774a91996-07-21 02:20:58 +000089Open the resource fork of a file. Arguments are the same as for the
90builtin function \code{open}. The object returned has file-like
91semantics, but it is not a python file object, so there may be subtle
92differences.
93\end{funcdesc}