Newt Plugin Info

Starting with version 3.0, Newt was re-architected so that it can be extended with plug-in modules/extensions ("autoparts") -- other optional (small) packages that you can install. Newt links to plug-ins automatically when it starts; plug-ins generally do not appear in Extras, but may appear in Newt's overview menu. (You can also see them in the "Remove Software" list, or on NOS 2.0 in the Extensions folder). These consume very little heap.

The basic Newt package can be used by itself for doing most application development. Once you have built an application, you need NewtPack in order to save your app as a package. To use platform functions, you will need PlatFunc; to define a communication endpoint, CommEndP (or CommCnst). These should be adequate for all of the examples I distribute (see examples.txt). So, depending on how much free (package) memory you have available, you can customize and extend your Newt environment via additional plug-ins. These are categorized as:

For many of these there are two versions:

  1. primarily 1.x, though will also work on NOS 2.0
  2. NOS 2.0 only (smaller plugin; may include more constants)

Constants

PlatFunc, PlatFnc2
platform functions [??K; ??K]
ProtErr1 (1.x)
standard 1.x protos and common error messages (built-in to Newt 3.3, 3.3-2); may be useful as constants without Newt [??K]
ProtNOS2 (2.0)
another ~140 protos (for NOS 2.0) (built-in to Newt 3.3-2); can be added to Newt 3.3 [8K]
CommCnst, CommCns2
protoEndPoint and comm constants [??K; ??K]
MiscCnst, MiscCns2
viewJustify, transfer, viewFormat, viewFlags, textFlags, viewEffect, copyProtection, ButtonBounds, flagConvert, kbd, font,char, date&time, GetDataStrSpec, sound, bitmap, other protos/ROM, notify, unit, event, dictionary [??K; ??K]
ErrCnst, ErrCns2
(fairly) complete, unabbreviated list of error messages [??K; ??K]

Libraries

These are accessible via Select Library command, copy source via Copy Source, Copy All; you can create your own source-code packages from a Newton Notes folder (using buildFolderLib), or on the desktop from a Slurpee-format file using Paperback.

MyApp
applic0.pkg is source for applic0.nwt example (FolderLib format) [??K]
MyApp2
applic2.pkg is source for applic2.nwt example (Paperback format) [??K]

Tools

Titles for these tools will appear in Newt's overview menu: first (top) group

NewtDraw, NewtDrw2
"Newt Controls", "Newt Drawing" (turtle graphics) [??K; ??K]
ExprKbd
former "Code Templates" (syntax-smart expressions for editor) [6K]

Protos

These are like tools but only accessible programmatically, e.g., via Save.

Pack32
save Newt apps as packages [22K]
Pack32N
faster version with some Native code [46K]
Pack32-2
smaller version (NOS 2.0 only**) [17K]

**NOS 2.0-only packages can be more compact. Also, these are faster (since NOS 2.0 NewtonScript is much more efficient), so Native code is less necessary. But packages saved using NOS 2.0 only versions can run only on NOS 2.0 systems.

Views

These are external applications in Extras; titles will appear in Newt's overview menu: second group.

Slrp19
for transferring source text, inspector [??K]
Slrp19N
some Native code, other connection speeds [??K]
Slrp19-2
other connection speeds, 2.0 only (smaller) [??K]

Other

DontAsk (1.x only)
this patches the system keyboard to get rid of the annoying "Do you want to add" prompt. It's not really a Newt-only plug-in. appears as toggle button at lower left in keyboard. [3K]

In case it's not obvious, you can create your own plug-ins via Newt itself -- Newt created the ExprKbd tool from the exprkbdt.nwt example, and the applic0.lib (MyApp) library package from the Notepad sources for applic0.nwt; and the DontAsk autopart. Given heap limitations on the Newton, one strategy for building very large applications is to save mostly finished parts (protos, methods) of your app as a "constant library", then in your main app, inherit from this plug-in during development (somewhat similar to the new NOS 2.0 units mechanism). So, Newt is a very open and extensible environment.

To remove plug-ins, just use the "Remove Software" button (or scrub on NOS 2.0 Extensions) or your favorite package archiving utility. If you have Apple's "Package Mover" installed, the "Prefs:Memory:Remove Software" list scrolls. Close Newt before removing plug-ins to avoid possible invalid memory references.

To make it easier for me to update/distribute these (and provide a little incentive to register), only some plug-ins are distributed with the basic release (NewtPack, NewtDraw, ExprKbd, MyApp, DontAsk). Slurpee is available as a separate release. The others are available via http(web), ftp, floppy or email when you register.


Last updated: 24 Nov 96


Steve Weyer - weyer@netaxs.com