Desk Accessory

Desk Accessory

In the operating system for the Apple Macintosh computer, a Desk Accessory (DA) was a piece of software, originally written as a device driver, conforming to a particular programming model. The purpose of this model was to permit very small helper-type applications to be run concurrently with any other application on the system. This provided a small degree of multitasking on a system that initially did not have any other multitasking ability.

Within the OS, the DA was in fact implemented as a special class of driver. It was installed in the driver queue, and given time periodically and co-operatively as a result of the host application calling "SystemTask()" within its main loop. A DA was permitted to have a user-interface as long as it was confined to one main window. A special appearance of window frame was reserved for the use of DAs so that the user could distinguish it from the windows of the hosting application.

Typical early DAs included the Calculator and Alarm Clock. Third-party DAs such as spelling checkers could be purchased. It was considered hard to write a DA, especially early on when there was little in the way of developer tools. However, since on the early Mac OS drivers did not have any special privileges, writing a DA was, with practice, no more difficult than any other application.

A special Font/DA Mover utility was used to change the configuration of DAs. Because DAs were not installed or launched in the same way that applications were, the user could not drag and drop DAs into or out of the system. They resided in the "System" file's 'DRVR' resources, like actual drivers, though they could theoretically be installed in any file whose resources were loaded into the memory, and were stored in "suitcases" when not installed in the system file. As a resource numbering scheme was implemented for marking resources as belonging to another resource of some particular type and number in the same file, such as a DA ('DRVR'), it was possible for desk accessories to have a limited "resource fork" of their own within the file they were contained in; the mover utility recognised such resources and moved them along with the actual DA code resource they were associated with.

With the advent of System 7, which included a standard co-operative multitasking feature, the need for DAs diminished greatly, and developers were encouraged to develop small applications instead. The system continued to run DAs (and still does up to Mac OS 9.x) for backward compatibility. The icon for a desk accessory program under System 7 and later is roughly a reversed version of the application icon, with the writing hand on the left side instead of the right.

A similar mechanism to allow small utility programs to run along with regular applications was also present in the operating system for the Apple IIGS.

Desk Accessories in GEM

GEM resembled the Macintosh closely in many respects, and one of them was the presence of Desk Accessories, for the same reason - to allow multiple programs to be used in a system that only supported one full application at a time.

From a programming point of view, Desk Accessories were implemented, like other GEM applications, as DOS .EXE files, with names ending with .ACC (Accessory) rather than .APP (Application). Each .ACC file could support multiple accessories; all three of the standard GEM accessories (Calculator, Clock and Print Spooler) were provided by CALCLOCK.ACC. Installation was simply a matter of placing the .ACC in the correct directory - GEMBOOT in earlier versions, and GEMAPPSGEMSYS in GEM/3 and later.

Since each DA loaded reduced the amount of memory available for programs, one technique for temporarily increasing available space was to rename one or more .ACC files to have a different suffix (usually .ACX) and restart GEM. On the Amstrad PC-1512, for example, the Snapshot accessory was shipped as SNAPSHOT.ACX and had to be renamed to .ACC if required.

Desk Accessories continued to be supported in ViewMAX, the DR-DOS file manager, which was supplied with almost unchanged versions of Calculator and Clock.

Desk Accessories in PalmOS

For much the same reason as Desk Accessories were used in Mac OS and in GEM, namely to allow more than one simultaneous program on a system that did not support multitasking, the concept of Desk Accessories was extended to PalmOS by third-party developers. DA are applets launched by an application or hack serving as a DA launcher. The DA launcher may watch for keystrokes or other system events and pop up a pre-defined desk accessory. Many general purpose PalmOS launcher applications are capable of launching DAs as well.

A Desk Accessory program is a Palm resource database of type 'DAcc', specified to include a single 'code' #1000 resource that contains the binary code implementing the Desk Accessory. Global or static variables are not available, but a DA can call user interface APIs. It is possible for a DA to have user interface resources in its database. The Desk Accessory launcher transfers execution to the first byte of the 'code' #1000 resource.

DAs provide a modicum of multitasking. However, unlike in Mac OS and GEM, after the user is done working with the DA, it must be closed to return to the underlying application. It is possible to pop a DA up over another DA, though this might deplete stack space.

References

* Andy Hertzfeld. [http://folklore.org/StoryView.py?project=Macintosh&story=Desk_Ornaments.txt Desk Ornaments] . folklore.org. URL accessed May 20 2006.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Desk accessory — A desk accessory (DA) is a small helper type application that can be run concurrently with any other application on the system. Early examples, such as SideKick and Macintosh desk accessories, used special programming models to provide a small… …   Wikipedia

  • Portable desk — The portable desk has not one but many forms. In a sense, the portable desk is a long lost ancestor of the portable computer, and the modern laptop could be considered an atavistic grandchild of the 19th century Lap desk.Medieval and renaissance… …   Wikipedia

  • System 7 — Infobox OS name = System 7 caption = Screenshot of System 7.5.3 developer = Apple Computer family = Mac OS Classic source model = Closed source latest release version = 7.6.1 latest release date = April 7 1997 kernel type = Monolithic for 68k,… …   Wikipedia

  • System 6 — Infobox OS version name = System Software 6 family = Mac OS caption = System Software 6.0.8 workspace developer = Apple Computer source model = Closed source license = Proprietary kernel type = Monolithic first release date = April, 1988 first… …   Wikipedia

  • Dashboard (software) — Infobox Software name = Dashboard logo = caption = Dashboard widgets running under Mac OS X v10.5 Leopard (including one made with Safari 3 s Web Clip feature). latest release version = 2.0 latest release date = October 26, 2007 developer = Apple …   Wikipedia

  • Dashboard (Mac OS) — This article is about Apple s Dashboard software. For articles about dashboard software in general, see Dashboard (disambiguation). Dashboard …   Wikipedia

  • Ambrosia Software — Andrew Welch redirects here. See also Andrew Welsh (disambiguation). Ambrosia Software Type Private Industry Software, video games Founded August 18, 1993 …   Wikipedia

  • Apple menu — The Apple menu has been a feature in Apple s Mac OS since its inception. It is the first item on the left hand side of the menu bar. The Apple menu s role has changed throughout the release history of Mac OS, as detailed in the following sections …   Wikipedia

  • Widget engine — Not to be confused with widget toolkit. In computer software, a widget engine is a software service available to users for running and displaying applets on a graphical user interface, such as that of the desktop. The widget model in widget… …   Wikipedia

  • MagiC — is a third party multitasking capable TOS compatible operating system for the Atari ST range of computers, including some newer clone machines. There are also variants that run as part of the MagicMac and MagicPC emulation environments. Contents… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”