summaryrefslogtreecommitdiffstats
path: root/mac/README
diff options
context:
space:
mode:
Diffstat (limited to 'mac/README')
-rw-r--r--mac/README299
1 files changed, 299 insertions, 0 deletions
diff --git a/mac/README b/mac/README
new file mode 100644
index 0000000..3c8824a
--- /dev/null
+++ b/mac/README
@@ -0,0 +1,299 @@
+Tk 8.0 for Macintosh
+
+by Ray Johnson
+Sun Microsystems Laboratories
+rjohnson@eng.sun.com
+
+SCCS: @(#) README 1.30 97/11/20 22:06:57
+
+1. Introduction
+---------------
+
+This is the README file for the Macintosh version of the Tk
+extension for the Tcl scripting language. The file consists of
+information specific to the Macintosh version of Tcl and Tk. For more
+general information please read the README file in the main Tk
+directory.
+
+2. What's new?
+-------------
+
+Native Look & Feel!!! We now try really hard to support the
+Macintosh Look & Feel with Tcl/Tk 8.0. We aren't finished but
+it look pretty good. Let me know what are the most "un-mac like"
+problems and I'll fix them as quickly as I can.
+
+The button, checkbutton, radiobutton, and scrollbar widgets actually
+use the Mac toolbox controls. This means that they will track the
+look&feel if you use extension that change the appearance of
+applications (like Aaron.) We also use "system" colors so the default
+backgrounds etc. will also change colors. We plan to support this
+feature - so let me know if something doesn't work quite right.
+Unfortunantly, we are not able to change the colors of buttons under
+MacOS 8. We are working on a solution to this.
+In the meantime, if you really must have colored buttons, turn off the
+"System-wide platinum appearance" option in the Appearance Control Panel,
+and you will get the System 7, colorable, buttons back.
+
+We also now support native menus! By using the new -menu option
+on toplevels you can have a menubar that is cross platform. You
+can also place Tk menus in the Apple and Help menus! Check out
+the documentation for more details. Syd Polk <icepick@eng.sun.com> is
+the author of the new menu code. Feel free to contact him if you
+have questions or comments about the menu mechanism.
+
+The "tk_messageBox" command on the Macintosh is now much more
+mac-like. I'll probably still need to adjust this more - but it
+looks a hell of alot better than it did before.
+
+I've also added a command that allows you to get more native window
+styles. However, we have yet to decide on a cross platform solution
+to the problem of varying window styles. None the less, I thought
+it would be use full to add the capability in an unsupported means
+to tide you over until a better solution is available. The command
+is called "unsupported1". It can be used in the following way:
+
+ toplevel .foo; unsupported1 style .foo zoomDocProc
+
+The above command will create a document window with a zoom box.
+Type "unsupported1 style . ???" to get a list of the supported
+styles. The command works like "wm overrideredirect" - you must
+make the call before the window is mapped.
+
+As always - report the bugs you find - including asthetic ones
+in the look & feel of widgets.
+
+3. Mac specific features
+------------------------
+
+There are several features or enhancements in Tk that are unique to
+the Macintosh version of Tk. Here is a list of those features and
+pointers to where you can find more information about the feature.
+
+* The menu command has special rules for accessing the Macintosh
+ Apple and Help menus. See the menu.m man page for details.
+
+* If you have the special Tcl function "tkAboutDialog" defined, it
+ will be called instead of displaying the default About Box in the
+ console or other parts of the Wish application. See below for
+ details.
+
+* In addition to the standard X cursors, the Mac version of Tk will
+ let you use any Mac cursor that is named and installed in your
+ application. See the GetCursor.3 man page for details.
+
+* The wish application has a couple of hooks to know about the exit,
+ "open document" and "Do Script" Mac High Level events.
+ See below for details.
+
+* The command unsupported1 will allow you to set the style of new
+ toplevel windows on the Macintosh. It is not really supported.
+ See below for details.
+
+* In addition to the standard built-in bitmaps that Tk supports, the
+ Mac version of Tk allows you to use several Mac specific icons. See
+ the GetBitmap.3 man page for a complete list.
+
+* The send command does not yet work on the Macintosh. We hope to
+ have it available in Tk 8.1.
+
+* The -use and -container options almost work. The focus bugs that
+ were in Tk8.0 final have been fixed. But there are still some
+ known bugs that cause some major problems. Be careful, if you
+ decide to use these features. (See bugs.doc for details.)
+
+4. The Distribution
+-------------------
+
+Macintosh Tk is distributed in three different forms. This
+should make it easier to only download what you need. The
+packages are as follows:
+
+mactk8.0.sea.hqx
+
+ This distribution is a "binary" only release. It contains an
+ installer program that will install a 68k, PowerPC, or Fat
+ version of the "Wish" application. In addition, in installs
+ the Tcl & Tk libraries in the Extensions folder inside your
+ System Folder. (No "INIT"'s or Control Pannels are installed.)
+
+mactcltk-full-8.0.sea.hqx
+
+ This release contains the full release of Tcl and Tk for the
+ Macintosh plus the More Files package on which Macintosh Tcl and
+ Tk rely.
+
+mactk-source-8.0.sea.hqx
+
+ This release contains the complete source to Tk for the Macintosh
+ In addition, Metrowerks CodeWarrior libraries and project files
+ are included. However, you must already have the More Files
+ package to compile this code.
+
+5. Documentation
+----------------
+
+Two books are currently available for Tcl. Both provide a good
+introduction to the language. It is a good way to get started
+if you haven't used the language before:
+
+ Title: Tcl and the Tk Toolkit
+ Author: John K. Ousterhout
+ Publisher: Addison-Wesley
+ ISBN: 0-201-63337-X
+
+ Title: Practical Programming in Tcl and Tk
+ Author: Brent Welch
+ Publisher: Prentice Hall
+ ISBN: 0-13-182007-9
+
+The "doc" subdirectory contains reference in documentation
+in the "man" format found on most UNIX machines. Unfortunately,
+there is not a suitable way to view these pages on the Macintosh.
+A version suitable for viewing on the Macintosh has yet to be
+developed. We are working are having better documentation for
+the Macintosh platform in the future. However, if you have WWW
+access you may access the Man pages at the following URL:
+
+ http://sunscript.sun.com/man/tcl8.0/contents.html
+
+Other documentation and sample Tcl scripts can be found at
+the Tcl ftp site:
+
+ ftp://ftp.neosoft.com/tcl/
+
+The internet news group comp.lang.tcl is also a valuable
+source of information about Tcl. A mailing list is also
+available (see below).
+
+6. Compiling Tk
+---------------
+
+In order to compile Macintosh Tk you must have the
+following items:
+
+ CodeWarrior Pro 1 or higher (CodeWarrior release 9 or higher can work
+ and we have project files, but we are depricating support)
+ Mac Tcl 8.0 (source)
+ (which requires More Files 1.4.2 or 1.4.3)
+ Mac Tk 8.0 (source)
+
+The project files included with the Mac Tcl source should work
+fine. The only thing you may need to update are the access paths.
+As with Tcl, there is something in the initial release of the CW Pro 2
+linker that rendersthe CFM68K version of Wish very unstable. I am
+working with Metrowerks to resolve the issue.
+
+Special notes:
+
+* Check out the file bugs.doc for information about known bugs.
+
+* We are starting to support the new Appearance Manager that shipped
+ with MacOS 8. At this point, the only feature that we are using is
+ the API to Iconify windows (so that wm iconify will work). However,
+ as of the release of Tk8.0p1, the SDK from Apple is still in Beta, so
+ we cannot ship it. So support for the Appearance Manager is turned off
+ in the source version of Tk8.0p1.
+ If you want to build Tk, and want to get the Appearance Manager features,
+ then need to do the following:
+ 1) get the SDK from Apple
+ 2) Uncomment the #define HAVE_APPEARANCE line in tk8.0:mac:MW_TkHeader.pch
+ 3) Add the Appearance.lib to tk8.0:mac:TkShells.¼, and put the include
+ directory of the SDK on your path in this project, and TkLibraries.¼.
+
+7. About Dialog
+---------------
+
+There is now a way to replace the default dialog box for the Wish
+application. If you create the tcl procedure "tkAboutDialog" it will
+be called instead of creating the default dialog box. Your procedure
+is then responsible for displaying a window, removing it, etc. This
+interface is experimental and may change in the future - tell me what
+you think of it.
+
+8. Apple Events
+---------------
+
+Tcl/Tk currently doesn't have much in the way of support for Mac
+Apple Events. There is no way to send an apple event (although you
+could write an extension to do this) and no general purpose way to
+recieve apple events. However, there are a couple of hooks for
+dealing with some of the standard apple events.
+
+ exit - Generally, Tcl cleans up after it self when you exit.
+ However, your application may want to do application specifc
+ cleanup like saving a users data. To do this you can rename
+ the exit command to something else. Define your own exit
+ command to do whatever clean up you like and then call the
+ origional exit command. For example,
+
+ rename exit __exit
+ proc exit {} {
+ # Do your clean up hear
+ __exit
+ }
+
+ Both incoming quit events and hitting the Quit menu item
+ will call the exit command. However, don't expect you can
+ abort the exit. Tk may exit anyway if the exit command it
+ calls does not actually quit the application.
+
+ open - The other apple event Tk supports is the open event. The
+ open event is sent to Tk if, for example, you drop a file on
+ the Wish icon. If you define a Tcl procedure with the name
+ "tkOpenDocument" it will be invoked on any Open Document
+ events that the application receives. The a list of paths to
+ the various documents will be passed to the Tcl function.
+ Here is an example,
+
+ proc tkOpenDocument args {
+ foreach file $args {
+ # Deal with passed in file path
+ }
+ }
+
+ Note: This isn't every thing you need to do to make your
+ application dropable. You must still define a FREF resource
+ that makes sense for your application domain. (Out of the
+ box, you will not be able to drop files on the Wish
+ application. See the Inside Macintosh documentation for
+ details about the FREF resource.
+
+ do script - This is a way for external applications to drive MacTk, or
+ to recieve information from it. From AppleScript, you can say:
+
+ tell application "Wish8.0"
+ do script "console hide
+ pack [button .b1 -text {Hello world} -command exit]"
+ end tell
+
+ which will get Tk to run the canonical hello world application.
+
+8. unsupported1
+---------------
+
+The unsupported1 command is a short term hack we made available to
+allow you to set the window style of a new toplevel window. It works
+much like the "wm overrideredirect" and "wm transient" commands in
+that it must be run before the window it's being applied to is mapped.
+
+The syntax of the command is as follows:
+
+ unsupported1 style <window> ?style?
+
+The <window> must be a toplevel window. If the style is not given
+then the current style for the window is returned. If you want to set
+the style you must do so before the window gets mapped for the first
+time. The possible window styles include:
+
+ documentProc, dBoxProc, plainDBox, altDBoxProc,
+ movableDBoxProc, zoomDocProc, rDocProc, floatProc,
+ floatZoomProc, floatSideProc, or floatSideZoomProc
+
+NOTE: this is an unsupported command and it WILL go away in the
+future.
+
+
+If you have comments or Bug reports send them to:
+Jim Ingham
+jingham@eng.sun.com