Gestalt Selectors List

Third Parties Software L-Z

This chapter lists selector codes of which the meaning is known or documented and are installed by Third Parties software, and the first character of the selector code is in the L-Z range.

Lnch (Network Time cp [2.0] by Pete Resnick)
     (First Launch Gestalt INIT code resource, by Pete Resnick)
     gestaltFirstLaunchAttr
     Returns info on whether the _Launch trap has been called by the
     System.

     enum {
     #define gestaltFirstLaunchAttr 'Lnch' /* _Launch information */
     gestaltFirstLaunchDone = 0}; /* _Launch called, INIT time over */

     NOTE:
     Bit 0 of the response, gestaltFirstLaunchDone, indicates whether the
     _Launch trap has been called since startup of the machine. All other
     bits are reserved and currently 0. Even if not installed at INIT time,
     Network Time will install the Gestalt selector if it is not already
     there when the control panel is opened and automatically set
     bit 0 to 1.
     68000 assembler source code is available for the INIT that installs
     the selector, and INIT resource -4048 from Network Time may be
     stolen (and renumbered as desired) and used in any INIT file as
     desired. (Pete Resnick)

Lprd (WDEF Leopard cp [1.2] by Maf Vosburgh)
     Returns a handle to a private data structure.

Maf× (The Ansel Adams Screen Saver cp [1.0] by Maf Vosburgh)
     Returns a pointer to a private data structure.

     NOTE:
     The last byte is the option-shift-v (0xD7).

MFK+ (Program Switcher ext [2.0] by Michael F. Kamprath)
     Returns a pointer to private data.

     NOTE: See also 'ASMf' and 'MFK='.

MFK7 (Super Saver cp [1.1.2?] by Michael F. Kamprath)
     Returned response is private.

MGCP (Mouse Navigator cp [1.0] by Satoshi Nishi)
     gestaltMouseNavigatorPrivateData
     Returns a pointer to a private data structure.

     #define gestaltMouseNavigatorPrivateData 'MGCP'

MnUI (MetroNub ext [1.2.1?] by MetroWerks Corp.)
     Returns a pointer to a MetroNubUserEntryBlock block (see below) and
     allows to know if the CW Pro 3 debugger is present, is running and is
     debugging the application that is calling it.

     #define kMetroNubUserSignature 'MnUI'

     struct MetroNubUserEntryBlock
     {
     long   blockLength;   // length of this block
     short  apiLowVersion; // lowest supported version of the Nub API
     short  apiHiVersion;  // highest supported version of the Nub API
     Str31  nubVersion;    // short version string from 'vers' 1 resource

     IsDebuggerRunningUPP isDebuggerRunning;
     AmIBeingDebuggedUPP  amIBeingDebugged;
     };
     typedef struct MetroNubUserEntryBlock MetroNubUserEntryBlock;

MOMM (Microsoft Office Manager cp [4.2.1] part of Microsoft Office [4.2.1],
      by Microsoft Corp.)
     gestaltMSOfficeMgr
     Returns a pointer to private data.

     #define gestaltMSOfficeMgr 'MOMM'

     NOTE:
     Microsoft Office Manager is a customizable control panel allowing easy
     access to Microsoft Office apps (or any other added applications,
     files, etc), setup, and help via a new system menu. Also incorporates
     the QuickSwitch feature of Command-Tabbing through current processes.
     (Terence Worley)

NliA (Note-it ext [since 1993] by RubenSoft)
     kNoteItGestalt
     Returns a pointer or handle to a private data structure.

     #define kNoteItGestalt 'NliA'

     NOTE:
     The l byte is actually the option-l (0xC2).

NIPX (Novell MacIPX cp [1.0.1] by Novell Inc.)
     gestaltNovellIPXVersion
     Returns the version of MacIPX as NumVersion.

     #define gestaltNovellIPXVersion 'NIPX' /* MacIPX version */

     NOTE:
     If the selector returns an error (i.e. no such selector?) then MacIPX
     is not installed. If the selector returns 0 then MacIPX is installed
     but the driver is not open. Any other value is the version.
     (Duane Murphy)

NMBT (Attention cp [0.6] by Marco Piovanelli)
     gestaltAttentionAddr
     The response value returned is a pointer to a read-only parameter
     block in the system heap.

     #define gestaltAttentionAddr 'NMBT' /* Attention address */

     NOTE: See for more detailed information the included ReadMe file.

nStl (InstallSoft Demo Extension ext [1.0], part of InstallSoft Demo)
                                            by InstallSoft.com)
     gestaltInstallSoftAttr
     Returns private information, the existence of this selector indicates
     InstallSoft Demo is installed.

     #define gestaltInstallSoftAttr 'nStl'

NTim (Network Time cp [2.0] by Pete Resnick)
     Returns information private to Network Time.

OB1K (ObiWan appl [4.0], part of Assimilator by Stairways Software)
     gestaltObiWanLookup
     Returns the address of the lookup procedure, a UPP to a function.

     #define gestaltObiWanLookup 'OB1K'

     function DoObiwanLookup( cmd: longint; const key: Str255;
              var linecnt: longint; var result: linesArray ): OSErr;
     where cmd can be one of the following values:
     commandfindexhaustive = 1;
     commandnextexhaustive = 2;
     command_find = 3;
     command_next = 4;

P§ca (PopCalendar ext [1.0] by Cristiano Verondini of
                               PowerSolutions S.r.l.)
     Returns a pointer to a private data structure (undocumented).

     NOTE:
     The second byte is the option-shift-6 (0xA5).

PNfs (FileSaver [3.0], part of Norton Utilities for Macintosh)
     Returns a private structure used by various portions of the
     Norton Utilities.

PPP  (PPP mdev [???], part of MacPPP by Merit Network, Inc. and the
      University of Michigan)
     (CompuServe Dialer app [1.0] by CompuServe)
     gestalt???
     Returns the address of the Lap globals as documented in the header
     file 'ppp.h.source'. It's an absolutely enormous struct that contains
     among other things function pointers to let you open and close MacPPP.
     (Richard Buckle)

     #define gestalt??? 'PPP '

     NOTE:
     Source code of MacPPP is available at: ftp://merit.edu/pub/ppp/mac/

PÄSH (OT AutoPush Support lib [1.0] by Quinn "The Eskimo" part of
      StreamWatcher by Peter N. Lewis)
     gestaltOTAutoPushAttr
     Returns information about the Open Transport AutoPush Support
     libary and allows to control it.

     enum {
     #define gestaltOTAutoPushAttr 'PÄSH'
     gestaltOTAutoPushLoaded       = 0, /* The extension sets this bit when
                                           it loads, to prevent any attempt
                                           to load it twice */
     gestaltOTAutoPushDisabled     = 1, /* Set this bit if you want the
                                           extension to be disabled
                                           completely. */
     gestaltOTAutoPushHackSubsumed = 2, /* Set this bit if the real
                                           autopush works, so the extension
                                           no longer has to use the hack
                                           but can revert to use the real
                                           autopush code instead. */
     gestaltOTAutoPushHackBroken   = 3, /* Set this bit if you break the
                                           hack. */

     gestaltOTAutoPushLoadedMask       = $00000001,
     gestaltOTAutoPushDisabledMask     = $00000002,
     gestaltOTAutoPushHackSubsumedMask = $00000004,
     gestaltOTAutoPushHackBrokenMask   = $00000008};

     NOTES:
     The second byte is the option u/u (0x9F).

     See the documentation included with StreamWatcher for much more
     information.

PWQC (QC cp [1.2] by Onyx Technology, Inc.)
     Returns a pointer to private data used in the PowerPC version.

     NOTE:
     See also selector 'QCbd'.

PWRS (PwrSwitcher cp [1.0] by David B. Lamkins)
     gestaltPwrSwitcherTable
     Returns a pointer to a private data structure (undocumented).

     #define gestaltPwrSwitcherTable 'PWRS' /* Power Switcher address */

QCbd (QC cp [1.0] by Onyx Technology, Inc.)
     Returns a pointer to private data used in the product.

     NOTE:
     See also selector 'PWQC'.

RC5C (RC5DES Client app [1.0?] by distributed.net)
     Returns information private to RC5DES Client.

RC5m (RC5 Client app [1.0?] by distributed.net)
     Returns information private to RC5 Client.

RmIn (ReminderPro INIT ext [3.6?] by Manoj Patwardhan)
     Returns information private to ReminderPro.

     NOTE:
     See also selector 'Rext'.

SAVC (AfterDark cp [2.0] by Berkeley Systems, Inc.)
     (Basic Black cp [1.3.3] by Mason L. Bliss)
     (BlackWatch app [1.0] by Ken McLoad)
     (CDU cp [1.0?] by Connectix Corp.)
     (DarkSide of the Macintosh [4.0] by Tom Dowdy)
     (PixelPlay? ??? [???] by ???)
     (ScreenDaemon ??? [1.0] by Mason L. Bliss)
     (Sleeper cp [1.1.4?] by St.Clair Software)
     gestaltScreenSaverControl &M05
     Returns a pointer to a routine of type

     typedef pascal OSErr (*SaverControlProcPtr) (SaverCommand command);

     which allows controlling the screen saver.

     #define gestaltScreenSaverControl 'SAVC'

     NOTE:
     See for more information the AfterDark Gestalt header file. It
     is available by sending email to
     <depricated> using the command
     'archive get src/AfterDarkGestalt.h'
     Or by emailing to Berkeley Systems Mac Tech Support
     and ask them for the AfterDarkGestalt.h file.

SAVR (AfterDark cp [2.0] by Berkeley Systems, Inc.)
     (Arashi app [???] by Juri Munkki)
     (Basic Black cp [1.3.3] by Mason L. Bliss)
     (BlackWatch app [1.0] by Ken McLoad)
     (CDU cp [1.0?] by Connectix Corp.)
     (Coffee Break app [1.0] by Thomas Reed)
     (DarkSide of the Macintosh [4.0] by Tom Dowdy)
     (PixelPlay? ??? [???] by ???)
     (ScreenDaemon ??? [1.0] by Mason L. Bliss)
     (Sleeper cp [1.1.4?] by St.Clair Software)
     gestaltScreenSaverAttr &M05
     Returns information about the current screen saver. Defined if a
     screen saver is installed.

     enum {
     #define gestaltScreenSaverAttr 'SAVR' /* Screen saver attributes */
     gestaltSaverTurnedOn      = 0,  /* saver enabled/disabled */
     gestaltSaverAsleep        = 1,  /* saver currently asleep */
     gestaltSaverDemoMode      = 2,  /* saver sleeping in demo mode */
     gestaltSaverPasswordMode  = 3,  /* saver sleeping in password-
                                         protected mode */
     gestaltAppDrawingDisabled = 4}; /* QD drawing disallowed between
                                         module animation frames */

     NOTE:
     See for more information the AfterDark Gestalt header file. It
     is available by sending email to
     <depricated> using the command
     'archive get src/AfterDarkGestalt.h'
     Or by emailing to Berkeley Systems Mac Tech Support
     and ask them for the AfterDarkGestalt.h file.

     Thomas Reed wrote some source code (C) demonstrating how to install
     this selector. You can get a copy by sending email to
     <depricated> using the command
     'archive get src/gestalt-savr.txt'

SCom (Super Comments cp [CommentKeeper 1.0] formerly CommentKeeper,
                                            by Flux Software)
     Returned response is private.

SD×D (Shutdown Delay cp [2.0.1] by Alessandro Levi Montalcini)
     kSDDelayCreator
     Returns a pointer to a data structure described in the documentation
     included with Shutdown Delay.

     #define kSDDelayCreator 'SD×D'

     NOTE: The third byte is the option-shift v (0xD7).

sDmn (ScreenDaemon ext [1.0] by Mason L. Bliss)
     gestaltScreenDaemonAddr
     Returns the address of ScreenDaemon's patch globals.

     #define gestaltScreenDaemonAddr 'sDmn' /* ScreenDaemon address */

SHCM (Shared Code Manager ext [1.0] by Eric Schlegel of Microsoft Corp.)
     gestalt???
     Returns a pointer to an undocumented entrypoint into the Shared Code
     Manager.

     #define gestalt??? 'SHCM'

     NOTE:
     The Shared Code Manager (1991) is a simple DLL mechanism that is
     currently used by Microsoft's Mac OLE 1.0 (Object Linking & Embedding)
     and the applications that use OLE 1.0. (Eric Schlegel)

SIaN (future software, checked for by ShowInitAndName code [1.0]
                       by Storm Impact, Inc.)
     gestaltShowInitAndName
     Returns the address of a routine to replace the drawing of the icon
     during startup. This is to easily implement future methods of drawing
     icons, perhaps even calling a System routine instead. &M08

     #define gestaltShowInitAndName 'SIaN'

SK3F (SmartKeys cp [3.0] by Flux Software)
     Returned response is private.

     NOTE:
     Versions 2.1 and earlier installed the selector 'Skey'.

     See also selector 'SKgc'.

SKey (SmartKeys cp [OneSpace INIT 1.0?-2.1] formerly OneSpace INIT,
                                            by Flux Software)
     Returned response is private.

     NOTE:
     Version 3.0 and later installs the selectors 'SK3F' and 'SKgc'.

SKgc (SmartKeys cp [3.0] by Flux Software)
     Returned response is private.

     NOTE:
     Versions 2.1 and earlier installed the selector 'Skey'.

     See also selector 'SK3F'.

SLi2 (StuffIt SpaceSaver ext [???] by Aladdin Systems, Inc.)
     Returned response is private.

SLi3 (StuffIt SpaceSaver ext [4.0?] by Aladdin Systems, Inc.)
     Returned response is private.

SLip (StuffIt SpaceSaver ext [1.0?] by Aladdin Systems, Inc.)
     gestaltStuffItSpaceSaverAddr
     Returns the address of the SpaceSaver "command module" which allows
     developers to access all the functions of SpaceSaver.
     (Leonard Rosenthol)

     #define gestaltStuffItSpaceSaverAddr 'SLip'

SMag (ScrollMagick/Scrollability cp [all] by Eden Sherry)
     Returns a pointer to a private data structure (undocumented).

SNIT (Snitch cp [2.0] by Mitch Jones, Nifty Neato Software)
     kSnitchINITGestaltRec
     Returns a pointer to an INITGestalt structure.

     #define kSnitchINITGestaltRec 'SNIT'

     NOTE:
     Version 1.x returns 1 if loaded.

SnLv (??? [???])
     kGestaltLevelMeter
     Defined in the SoundLevel.c source file, distributed with the
     SoundLevel sample code.

     #define kGestaltLevelMeter 'SnLv'

SPAL (SpeakAlert ext [1.0] by Brian Stern)
     gestaltSpeakAlert
     Details are private to SpeakAlert.

     #define gestaltSpeakAlert 'SPAL'

ST20 (Snap-To cp [2.0] by Eden Sherry)
     Returns a pointer to a private data structure (undocumented).

ST21 (Snap-To cp [2.1] by Eden Sherry)
     Returns a pointer to a private data structure (undocumented).

SWVE (SimpleWave ext [1.0b1] by Rene G.A. Ros)
     gestaltSimpleWaveTable
     Returns a pointer to an INITGestalt structure.

     #define gestaltSimpleWaveTable 'SWVE'

TExT (FileTyper Menu ext [5.3], part of FileTyper by Daniel Azuma)
     gestaltTyperMenuAttr
     Returns information about the FileTyper Menu's operation.

     enum {
     #define gestaltTyperMenuAttr 'TExT'
     gestaltTyperMenuNoItemAdded    = 0,
     gestaltTyperMenuOptionGetInfo  = 1,
     gestaltTyperMenuShiftGetInfo   = 2,
     gestaltTyperMenuCommandGetInfo = 3,
     gestaltTyperMenuControlGetInfo = 4};

     NOTE:
     Bit 0 (gestaltTyperMenuNoItemAdded) is set if the user has configured
     FileTyper Menu to NOT add the FileTyper item to the FinderÍs File
     menu.
     Bits 1 through 4 identify the modifier keys that must be held down for
     FileTyper Menu to replace the ñGet Infoî item with ñFileTyperî. If all
     bits are OFF, the menu item is not affected, regardless of the
     settings of any of the modifier keys. Note that FileTyper Menu version
     5.3 supports only the option and shift keys; in this version, the
     other two bits will always be zero. (Daniel Azuma)

TFI1 (True Finder Integration cp [???] by Aladdin Systems, Inc.)
     Returned response is private.

TFI2 (True Finder Integration cp [???] by Aladdin Systems, Inc.)
     Returned response is private.

TFI3 (True Finder Integration cp [???] by Aladdin Systems, Inc.)
     Returned response is private.

TFI4 (True Finder Integration cp [???] by Aladdin Systems, Inc.)
     Returned response is private.

TFI5 (True Finder Integration cp [???] by Aladdin Systems, Inc.)
     Returned response is private.

TMON (TMON Pro [3.0] by ICOM Simulations, Inc.)
     ???
     The value returned is a pointer to a Monitor information block. &M04
     (Scott Bronson)

Typ4 (FileTyper Menu cp [4.1.1], part of FileTyper suite [4.1.1-4.2.2] by
      Daniel Azuma)
     gestaltTyperMenuPriv
     Returns private information, the existence of this selector indicates
     FileTyper Menu is installed.

     #define gestaltTyperMenuPriv 'Typ4'

     NOTE:
     Third parties can determine if FileTyper Menu is installed by
     checking for the existence of this selector. However, the actual value
     returned is private and subject to change.
     This selector is now deprecated, and later versions of FileTyper Menu
     do not install it. (Daniel Azuma)
     See also the 'FTM5' and 'TExT' selectors.

UMAM (Authentication Manager cp [1.0.7] by Robert John Churchill of the
                                           University of Michigan)
     gestaltAuthManVersion
     Returns the version of the Authentication Manager as Double BCD.

     #define gestaltAuthManVersion 'UMAM'

YeHa (SpeedyFinder7 cp [1.5.4?] by Victor Tan)
     ???
     Returns a pointer to a private data structure (undocumented).

     NOTE:
     The structure to which the Gestalt selector refers changes almost
     invariably from version to version of SF7. Should someone work out
     parts of the structure of the selector keep in mind that it will
     almost certainly change in the next minor release and definitely with
     the next major release. (Victor Tan)

YshP (PPCShare ext? by YARC Systems Corporation Inc.)
     gestaltPPCShare?
     Returns the address of a structure of type PPCShareEntries, defined in
     the header file ppcshare.h. &M09

     NOTE:
     PPCShare, the YARC PowerPC sharing engine, is a software module for
     use with YARC's PowerPC coprocessors.

Zoom (Aaron ext [1.5.2?] by Greg Landweber & Edward Voas)
     (Kaleidoscope cp [1.0.1?] by Greg Landweber, Fred Bass & Edward Voas)
     gestaltSpinningRectsAddr?
     The response is a hook into Aaron/Kaleidoscope that lets you use
     Aaron/Kaleidoscope's code for drawing Copland-style "spinning rects";
     like the ones displayed by the Finder when you double-click a disk or
     folder icon. The response returned is a UPP to a routine with the
     following prototype:

     typedef pascal void ( * AaronZoomProcPtr )
         ( const Rect * iconRect, const Rect * windowRect,
           Boolean opening ) ;

     where the "opening" parameter specifies whether the spinning rects
     should start from the icon rect and end with the window rect or vice
     versa. (Marco Piovanelli)

     #define gestaltSpinningRectsAddr? 'Zoom'