Un accesorio de escritorio (DA) o desklet en informática es una pequeña aplicación transitoria o auxiliar que se puede ejecutar simultáneamente en un entorno de escritorio con cualquier otra aplicación del sistema. Los primeros ejemplos, como Sidekick y los accesorios de escritorio de Macintosh, utilizaban modelos de programación especiales para proporcionar un pequeño grado de multitarea en sistemas que inicialmente no tenían ninguna otra capacidad de multitarea.
Los primeros administradores de información personal, como Norton Desktop y Sidekick de Borland , proporcionaban calculadoras emergentes, alarmas, calendarios y otras funciones para sistemas operativos de tarea única como MS-DOS que utilizaban técnicas de terminación y permanencia residentes .
Introducido en 1984 como parte del sistema operativo de la computadora Apple Macintosh , un accesorio de escritorio (DA) era un software escrito como un controlador de dispositivo, conforme a un modelo de programación particular. El propósito de este modelo era permitir que aplicaciones auxiliares muy pequeñas se ejecutaran simultáneamente con cualquier otra aplicación en el sistema. Esto proporcionaba un pequeño grado de multitarea en un sistema que inicialmente no tenía ninguna otra capacidad de multitarea.
Los DA se implementaron como una clase especial de controlador . Se instalaban en la cola de controladores y se les asignaba tiempo de forma periódica y cooperativa como resultado de la llamada de la aplicación anfitriona a SystemTask() dentro de su bucle principal . Se permitía que un DA tuviera una interfaz de usuario siempre que estuviera confinada a una ventana principal. Se reservaba un marco de ventana especial con una barra de título negra y esquinas redondeadas para el uso de los DA, de modo que el usuario pudiera distinguirlo de las ventanas de la aplicación anfitriona.
Los primeros DA típicos incluían la Calculadora y el Despertador. El panel de control , el Selector y el Álbum de recortes se implementaron inicialmente como DA. Se podían comprar DA de terceros, como los correctores ortográficos. Se consideraba difícil escribir un DA, especialmente al principio, cuando había pocas herramientas para desarrolladores. [1] Sin embargo, dado que en los primeros sistemas operativos Mac los controladores no tenían privilegios especiales, escribir un DA no era, con la práctica, más difícil que escribir cualquier otra aplicación.
Se utilizó una utilidad especial Font/DA Mover para cambiar la configuración de los DA. Debido a que los DA no se instalaban ni se ejecutaban de la misma manera que las aplicaciones, el usuario no podía arrastrar y soltar los DA dentro o fuera del sistema. Residían en los recursos 'DRVR' del archivo del sistema , como los controladores reales, aunque se podían instalar en cualquier archivo cuyos recursos se cargaran en la memoria y se almacenaban en "maletas" cuando no se instalaban en el archivo del sistema. Si se instalaban dentro de una aplicación separada, como MacWrite, su funcionalidad solo sería accesible cuando esa aplicación estuviera ejecutándose. Es decir, un accesorio de escritorio instalado como un recurso dentro de una aplicación aparecería en el menú Apple como un accesorio de escritorio solo cuando esa aplicación estuviera activa. Luego podría activarse mientras se ejecutaba la aplicación y luego desaparecería cuando la aplicación se terminara a través de la función Salir. (De manera similar, los recursos FKEY se podían instalar dentro del sistema para que estuvieran disponibles universalmente, o dentro de una aplicación para que estuvieran disponibles solo cuando esa aplicación estuviera activa). Como se implementó un esquema de numeración de recursos para marcar recursos como pertenecientes a otro recurso de algún tipo y número particular en el mismo archivo, como un DA ('DRVR'), fue posible que los accesorios de escritorio tuvieran una "bifurcación de recursos" limitada propia dentro del archivo en el que estaban contenidos; la utilidad de movimiento reconoció dichos recursos y los movió junto con el recurso de código DA real con el que estaban asociados.
Con la llegada de System 7 , que incluía una función multitarea cooperativa estándar , la necesidad de DA disminuyó en gran medida y se animó a los desarrolladores a desarrollar pequeñas aplicaciones en su lugar. El sistema continuó ejecutando DA (y todavía lo hace hasta Mac OS 9 .x) para compatibilidad con versiones anteriores. Con System 7 y posteriores, los DA se podían mover y renombrar utilizando el Finder como aplicaciones normales, eliminando la necesidad de Font/DA Mover y confinando las maletas a la gestión de fuentes . Cuando se ejecutaba un DA con System 7, siempre se ejecutaba en el espacio de direcciones del Finder . El icono de un programa de accesorio de escritorio con System 7 y posteriores es aproximadamente una versión invertida del icono de la aplicación, con la mano que escribe en el lado izquierdo en lugar del derecho.
Un mecanismo similar para permitir que pequeños programas de utilidad se ejecuten junto con aplicaciones normales también estaba presente en el sistema operativo de Apple IIGS y Apple IIe .
GEM se parecía mucho al Macintosh en muchos aspectos. Un ejemplo era la presencia de accesorios de escritorio, por la misma razón: permitir el uso de múltiples programas en un sistema que sólo admitía una aplicación completa a la vez (aunque los accesorios de escritorio de GEM utilizaban conmutación de tareas y no multitarea cooperativa como el Macintosh ).
Desde un punto de vista de programación, los accesorios de escritorio se implementaron, al igual que otras aplicaciones GEM, como archivos .EXE de DOS , con nombres que terminaban en .ACC (Accesorio) en lugar de .APP (Aplicación). Cada archivo .ACC podía admitir múltiples accesorios; los tres accesorios estándar de GEM (Calculadora, Reloj y Administrador de trabajos de impresión) fueron proporcionados por CALCLOCK.ACC
. La instalación fue simplemente una cuestión de colocar el .ACC en el directorio correcto, \GEMBOOT
en versiones anteriores y \GEMAPPS\GEMSYS
en GEM/3 y posteriores.
Como cada accesorio de escritorio cargado reducía la cantidad de memoria disponible para los programas, una técnica para aumentar temporalmente el espacio disponible era cambiar el nombre de uno o más archivos .ACC para que tuvieran un sufijo diferente (normalmente .ACX) y reiniciar GEM. En el Amstrad PC-1512 , por ejemplo, el accesorio Snapshot se enviaba como SNAPSHOT.ACX
.ACC y tenía que cambiarse el nombre a .ACC antes de usarlo.
Los accesorios de escritorio continuaron siendo compatibles con ViewMAX , el administrador de archivos DR-DOS , que se suministraba con versiones casi sin cambios de Calculadora y Reloj.
Por la misma razón que se usaron los accesorios de escritorio en Mac OS y en GEM, es decir, para permitir más de un programa simultáneo en un sistema que no admitía la multitarea, el concepto de accesorios de escritorio se extendió a Palm OS por parte de desarrolladores externos. Los DA son applets lanzados por una aplicación o un hack que sirven como un lanzador de DA. El lanzador de DA puede estar atento a las pulsaciones de teclas u otros eventos del sistema y hacer aparecer un accesorio de escritorio predefinido. Muchas aplicaciones de lanzamiento de Palm OS de propósito general también son capaces de lanzar DA.
Un programa de accesorio de escritorio es una base de datos de recursos de Palm de tipo 'DAcc', especificada para incluir un único recurso 'código' #1000 que contiene el código binario que implementa el accesorio de escritorio. Las variables globales o estáticas no están disponibles, pero un DA puede llamar a las API de interfaz de usuario. Es posible que un DA tenga recursos de interfaz de usuario en su base de datos. El iniciador de accesorios de escritorio transfiere la ejecución al primer byte del recurso 'código' #1000.
Los DA ofrecen un mínimo de multitarea. Sin embargo, a diferencia de Mac OS y GEM, una vez que el usuario termina de trabajar con el DA, este debe cerrarse para volver a la aplicación subyacente. Es posible abrir un DA sobre otro DA, aunque esto podría agotar el espacio de la pila.