# Administración de colores, fonts y recursos de aplicaciones

Se puede elegir una amplia gama de colores y de fonts para la pantalla, ya sea utilizando el Gestor de estilos ya sea personalizando recursos adicionales de font y de color. Este capítulo describe cómo personalizar los recursos de font y de color.

Este capítulo también describe cómo especificar las conversiones de estilo para aplicaciones widget del `DtEditor`
, como por ejemplo el editor de textos del escritorio (`dtpad`) y la Aplicación de correo (`dtmail`), y alternativas para teclas de método abreviado de menús de aplicaciones widget del `DtEditor` que están en conflicto con dichas conversiones

SAG.FACol.mkr.2
SAG.FACol.mkr.3
SAG.FACol.mkr.7
SAG.FACol.mkr.9
SAG.FACol.mkr.11

.

## Establecimiento de recursos de aplicaciones

Las aplicaciones utilizan recursos con el fin de establecer determinados matices de aspecto y comportamiento. Por ejemplo, el Gestor de estilos (`dtstyle`) proporciona recursos que permiten especificar la ubicación en la que el sistema busca los archivos que contienen información sobre las paletas de colores:

    dtstyle*paletteDirectories: /usr/dt/palettes/C \ DirectorioInicio/.dt/palettes

Los archivos app-defaults para las aplicaciones de escritorio están ubicados en el directorio `/usr/dt/app-defaults/`idioma.

### Establecer recursos accesibles en el sistema

- Añada los recursos al archivo `/etc/dt/config/`idioma`/sys.resources` .
  (Es posible que tenga que crear el archivo).

  Por ejemplo, si en `/etc/dt/config/C/sys.resources` se especifica:

  `AnApplication*resource:` valor

  el recurso `AnApplication*resource` se establecerá en la propiedad RESOURCE_MANAGER de cada usuario en el siguiente inicio de sesión.

### Establecer recursos personales

1. Añada los recursos al archivo DirectorioInicio`/.Xdefaults`.

2. Pulse dos veces Recargar recursos en el grupo de aplicaciones Herramientas_Escritorio.

### Cómo carga el escritorio los recursos

El Gestor de sesiones carga los recursos en el arranque de sesión. Para obtener información sobre cómo carga el Gestor de sesiones los recursos en el RESOURCE_MANAGER, consulte la sección SAG.SesMg.mkr.7.

## Definición de asignaciones de UNIX

Como valor predeterminado las asignaciones de UNIX no están habilitadas.

### Especificar
Conversiones de estilo EMACS

El siguiente procedimiento especifica:

- Conversiones de estilo EMACS para aplicaciones widget del `DtEditor`, como por ejemplo el Editor de textos del escritorio ( `dtpad`) y la Aplicación de correo (`dtmail`)

- Alternativas para las teclas de método abreviado de menús de aplicaciones widget del `DtEditor` que están en conflicto con dichas conversiones.

  1. Añada la línea siguiente al archivo DirectorioInicio`/.Xdefaults`:

     `#include` `“/usr/dt/app-defaults/idioma/UNIXbindings”`

     donde idioma es el valor de la variable de entorno `LANG`.

  2. Reinicie la sesión.

### Modificar las conversiones de estilo EMACS

1. Inserte el contenido del archivo `/usr/dt/app-defaults/`idioma`/UNIXbindings` en DirectorioInicio`/.Xdefaults`.

2. Edite las asignaciones del archivo `.Xdefaults`.

3. Reinicie la sesión cuando haya terminado.

### Asignaciones de UNIX proporcionadas por el archivo
UNIXbindings

El archivo `/usr/dt/app-defaults/`idioma`/UNIXbindings` proporciona las siguientes asignaciones:

La tecla Supr suprime el carácter anterior cuando las asignaciones de UNIX están habilitadas y Despl-Supr suprime el carácter siguiente.

- La SAG.FACol.mkr.4 lista las alteraciones temporales de `dtpad` para teclas de método abreviado de menús y texto acelerador que están en conflicto con las asignaciones de UNIX.

### Alteraciones temporales de `dtpad` para

teclas de método abreviado de menú y texto acelerador | Alteración temporal
`Dtpad*fileMenu.print.acceleratorText:` |
`Dtpad*fileMenu.print.accelerator:` |
`Dtpad*editMenu.undo.acceleratorText:` | Ctrl+_
`Dtpad*editMenu.undo.accelerator:` | Ctrl<Key>_
`Dtpad*editMenu.paste.acceleratorText:` | Shift+Insert
`Dtpad*editMenu.paste.accelerator:` | Shift<Key>osfInsert
`Dtpad*editMenu.selectAll.acceleratorText:` | Ctrl+/
`Dtpad*editMenu.selectAll.accelerator:` | Ctrl<Key>/

- La SAG.FACol.mkr.5 lista las alteraciones temporales de la ventana Componer de `dtmail` para teclas de método abreviado de menús y texto acelerador que están en conflicto con las asignaciones de UNIX.

### Alteraciones temporales de la ventana Componer de `dtmail`

teclas de método abreviado de menú y texto acelerador | Alteración temporal
`Dtmail*ComposeDialog*menubar*Edit.Undo.acceleratorText:` | Ctrl+_
`Dtmail*ComposeDialog*menubar*Edit.Undo.accelerator:` | Ctrl<Key>_
`Dtmail*ComposeDialog*menubar*Edit.Paste.acceleratorText:` | Shift+Insert
`Dtmail*ComposeDialog*menubar*Edit.Paste.accelerator:` | Shift<Key>osfInsert
`Dtmail*ComposeDialog*menubar*Edit.Find/Change.acceleratorText:` | Ctrl+S
`Dtmail*ComposeDialog*menubar*Edit.Find/Change.accelerator:` | Ctrl<Key>s

- Las conversiones siguientes proporcionan el control EMACS (estilo GNU) y asignaciones a teclas meta además de algunas asignaciones adicionales. En los casos pertinentes, también permiten utilizar la tecla Despl en combinación con la asignación normal para invertir la dirección de la operación. Por ejemplo, Control+Despl+F moverá el cursor un carácter hacia atrás dado que Control+F normalmente lo mueve un carácter hacia adelante.

  Las asignaciones adicionales son:

  Control+coma | palabra hacia atrás
  Control+Despl+coma | palabra hacia adelante
  Control+punto | palabra hacia adelante
  Control+Despl+punto | palabra hacia atrás
  Control+Intro | fin de archivo
  Control+Despl+Intro | principio de archivo

  EMACS GNU asigna suprimir carácter anterior() en lugar de suprimir carácter siguiente() a la tecla Supr. Meta+A es normalmente un mnemotécnico para el menú Archivo, de modo que se ignorará la asignación para palabra hacia adelante(). Utilice uno de los otros enlaces para palabra hacia adelante (por ejemplo, Control+punto).

- La SAG.FACol.mkr.6 lista las conversiones de `DtEditor.text`

### Conversiones de `DtEditor.text`

`Tecla modificadora` | Tecla | Rutina de acción
c ~s | <Key>a: | principio de la línea()\n\
c s | <Key>a: | fin de la línea()\n\
c ~s | <Key>b: | carácter hacia atrás()\n\
c s | <Key>b: | carácter hacia adelante()\n\
c ~s | <Key>b: | carácter hacia atrás()\n\
c s | <Key>b: | palabra hacia atrás()\n\
m ~s | <Key>b: | palabra hacia atrás()\n\
m s | <Key>b: | palabra hacia adelante()\n\
c ~s | <Key>d: | suprimir carácter siguiente()\n\
c s | <Key>d: | suprimir carácter anterior()\n\
m ~s | <Key>d: | matar palabra siguiente()\n\
m s | <Key>d: | matar palabra anterior()\n\
c ~s | <Key>e: | fin de la línea()\n\
c s | <Key>e: | principio de la línea()\n\
c ~s | <Key>f: | carácter hacia adelante()\n\
c s | <Key>f: | carácter hacia atrás()\n\
m ~s | <Key>f: | palabra hacia adelante()\n\
m s | <Key>f: | palabra hacia atrás()\n\
c | <Key>j: | nueva línea e indentar()\n\
c ~s | <Key>k: | matar hasta fin de la línea()\n\
c s | <Key>k: | matar hasta el principio de la línea()\n\
c | <Key>l: | volver a dibujar pantalla()\n\
c | <Key>m: | nueva línea()\n\
c s | <Key>n: | proceso anterior()\n\
c ~s | <Key>n: | proceso siguiente()\n\
c | <Key>o: | nueva línea y copia de seguridad()\n\
c ~s | <Key>p: | proceso anterior()\n\
c s | <Key>p: | proceso siguiente()\n\
c ~s | <Key>u: | matar hasta el principio de la línea()\n\
c s | <Key>u: | matar hasta fin de la línea()\n\
c ~s | <Key>v: | página siguiente()\n\
c s | <Key>v: | página anterior()\n\
m ~s | <Key>v: | página anterior()\n\
m s | <Key>v: | página siguiente()\n\
c | <Key>w: | matar selección()\n\
c ~s | <Key>y: | anular matar()\n\
m | <Key>]: | párrafo hacia adelante()\n\
m | <Key>[: | párrafo hacia atrás()\n\
c ~s | <Key>comma: | palabra hacia atrás()\n\
c s | <Key>comma: | palabra hacia adelante()\n\
m | <Key>\\<: | principio de archivo()\n\
c ~s | <Key>period: | palabra hacia adelante()\n\
c s | <Key>period: | palabra hacia atrás()\n\
m | <Key>\\>: | fin de archivo()\n\
c ~s | <Key>Return: | fin de archivo()\n\
c s | <Key>Return: | principio de archivo()\n\
~c ~s ~m ~a | <Key>osfDelete: | suprimir carácter anterior()\n\
~c s ~m ~a | <Key>osfDelete: | suprimir carácter siguiente()

## Administración de los fonts`
`

Mediante la utilización del diálogo Font del Gestor de estilos, se puede seleccionar el tamaño de font que se desea para todas las aplicaciones. También se pueden especificar fonts en la línea de mandatos o utilizar recursos para:

- Establecer recursos de fonts para aplicaciones individuales

- Asignar fonts diferentes para que los utilice el cuadro de diálogo Font

Un font es un tipo de estilo en el que se imprimen o muestran los caracteres del texto. El escritorio incluye diversos fonts de diferentes estilos y tamaños.

Un font de mapa de bits
está compuesto de una matriz de puntos. (Como valor predeterminado, el Gestor de estilos sólo configura fonts de mapas de bits). La totalidad del font se incluye en un archivo. Se necesitan muchos archivos para tener un rango completo de tamaños, inclinaciones y pesos.

Los fonts se especifican como valores de recursos y como parámetros en los mandatos. El nombre de Descripción de Font Lógico de X (X Logical Font Description -
XLFD) es el método por el que se solicita un font deseado. El sistema busca el font que mejor coincide con la descripción que se le ha proporcionado.

### Establecimiento de recursos de fonts de escritorio

El cuadro de diálogo Font del Gestor de estilos le permite establecer fonts (hasta siete tamaños) para elementos tales como entrada de texto y etiquetas.

#### Recursos establecidos por el cuadro de diálogo Font

Cuando se selecciona un font, se graban los siguientes recursos en la propiedad RESOURCE_MANAGER:

- `SystemFont` se utiliza para áreas del sistema, como por ejemplo barras de menús, paneles de menús, botones de acción, botones de conmutación y etiquetas. `SystemFont` establece el siguiente recurso:

  `*FontList` | Se muestra en áreas de sistema de clientes del escritorio y otros clientes creados utilizando el kit de utilidades Motif.

- `UserFont` se utiliza para el texto entrado en las ventanas. `UserFont` establece el siguiente recurso:

  `*Font` | Soporta versiones anteriores de aplicaciones de X
  `*FontSet` | El valor primario
  `*XmText*FontList` | Se muestra en recuadros de entrada de texto
  `*XmTextField*FontList` | Se muestra en recuadros de entrada de texto

#### Recursos utilizados por el cuadro de diálogo Font

Los fonts utilizados para cada selección del cuadro de diálogo Font se especifican en el archivo `/usr/dt/app-defaults/Dtstyle`. Se puede especificar un máximo de siete tamaños.

`NumFonts` | Número de tamaños de font del cuadro de diálogo Font
`SystemFont[1-7]` | Un máximo de siete recursos que asignan un font específico a una selección del cuadro de diálogo Font para `SystemFont`
`UserFont[1-7]` | Un máximo de siete recursos que asignan un font específico a una selección del cuadro de diálogo Font para `UserFont`

Los fonts predeterminados para estos recursos se han elegido para poderlos leer en diversas pantallas. Si desea un font específico para una aplicación, establezca el font con un recurso de font de aplicación en lugar de cambiar estos fonts del escritorio.

Para obtener más información sobre los fonts de aplicaciones, consulte las páginas de manual `DtStdAppFontNames(5)` y `DtStdInterfaceFontNames(5)`.

### Listar los fonts disponibles

1. Escriba lo siguiente:

   `xlsfonts [-`opciones`] [-fn patrón]`

   Se muestra una lista de nombres XLFD y de nombres de alias de font disponibles en el sistema. Los fonts de mapas de bits muestran valores en los catorce campos XLFD. Los tipos de letras escalables muestran ceros en las posiciones TamañoPixel, TamañoPunto, ResoluciónX y ResoluciónY.

2. Para comprobar fonts específicos, utilice la posibilidad de comparación de patrones de `xlsfonts`. Utilice caracteres comodín para sustituir la parte del patrón que no intenta comparar.

3. Si `xlsfonts` no muestra ningún nombre de font que empiece por `dt`, la ruta de fonts no incluye los fonts de escritorio. Escriba el siguiente mandato para incluir los fonts de escritorio en los fonts disponibles:

   `xset +fp nombre directorio`

   donde nombre directorio es el directorio que contiene los fonts de escritorio. La ubicación predeterminada establecida por el arranque de sesión es `/usr/dt/config/xfonts/`idioma.

Para obtener información adicional, consulte:

- Las páginas de manual `xset` y `xlsfonts`, que listan las opciones disponibles.

- Utilización del sistema de ventanas de X, que explica los nombres de alias de font y el cliente de `xset`.

### Especificar fonts en la línea de mandatos

- Utilice la opción de línea de mandatos `-xrm` para especificar un recurso de font para un cliente específico. Por ejemplo:

    nombre aplicación -xrm ”*bitstream-charter-medium-r-normal-8-88-75-75-p-45-iso8859-1”

### Descripción de Font Lógico de X (XLFD)

Un font se especifica listando catorce características diferentes, separadas por guiones (-). Esto se denomina Descripción de font lógico de X (XLFD). En algunos casos, se puede sustituir una propiedad de la lista por un carácter comodín * y se puede sustituir un carácter dentro de una propiedad por un carácter comodín ?. La SAG.FACol.mkr.8 lista las especificaciones de la cadena de propiedades de los fonts.

El formato de la especificación de la cadena de propiedades es:

“-Fundación-NombreFamilia-NombrePeso-Inclinación-NombreAnchoEstablecido-NombreEstiloAñadido-TamañoPixel-TamañoPunto-ResoluciónX-ResoluciónY-Espaciado-AnchoMedio-RegistroConjCar-CodificaciónConjCar”

### Especificación de cadenas de propiedades de fonts

`Cadena de propiedades` | `Definición`
Fundación | Cadena que identifica el diseñador de fonts
NombreFamilia | Cadena que identifica el nombre de marca registrada del font
NombrePeso | Cadena que proporciona el peso relativo del font, como por ejemplo negrita
Inclinación | Código que describe la dirección de la inclinación R (Roman–sin inclinación) I (Cursiva–inclinación a la derecha) O (Oblicuo–inclinación a la derecha) RI (Cursiva invertida–inclinación a la izquierda) RO (Oblicua invertida–inclinación a la izquierda)
NombreAnchoEstablecido | Cadena que describe el ancho, como por ejemplo comprimido o ampliado
NombreEstiloAñadido | Cadena que proporciona información adicional necesaria para identificar el font de forma exclusiva
TamañoPixel | Entero que proporciona el tamaño de un cuadratín en pixels
TamañoPunto | Entero que proporciona el tamaño de un cuadratín en decipuntos
ResoluciónX | Entero que proporciona la resolución horizontal en pixels
ResoluciónY | Entero que proporciona la resolución vertical en pixels
Espaciado | Código que especifica el espaciado entre unidades `M` (Monoespaciado--paso fijo) `P` (Espacio proporcional--paso variable) `C` (Casilla de carácter)
AnchoMedio | Entero que proporciona el ancho medio en décimas de pixels
RegistroConjCar | Cadena que identifica la autorización de registro que ha registrado la codificación del font
CodificaciónConjCar | Cadena que identifica el conjunto de caracteres en el registro especificado

#### Ejemplo

El siguiente nombre XLFD describe un font llamado `charter` compuesto por una corriente de bits que soporta la codificación ISO8859-1 estándar:

    -bitstream-charter-medium-r-normal--8-80-75-75-p-45-iso8859-1

Es de peso medio, sin ninguna inclinación especial y con un ancho normal. El font es proporcional, con un cuadratín de 8 pixels u 8,0 puntos. La resolución horizontal y vertical son ambas de 75 pixels. El ancho medio de un carácter es 45 décimas de pixel o 4,5 pixels.

Se pueden sustituir partes de esta cadena por caracteres comodín. El sistema utiliza el primer font encontrado que coincide con las partes especificadas.

Si lo que desea es un font `charter` de ocho pixels, puede utilizar:

    *-charter-*-*-*-*-8-*

## Administración de los colores

Esta sección describe:

- Cómo establece los colores de la pantalla el Gestor de estilos.

- Los recursos utilizados por el Gestor de estilos para controlar el uso de colores del escritorio.

###
Paletas de colores

Una paleta consta de un grupo de conjuntos de colores. Los conjuntos de colores para la paleta actual se muestran en el cuadro de diálogo Color del Gestor de estilos.

Existe un archivo para cada paleta. El recurso `paletteDirectories` especifica los directorios que contienen los archivos de paletas. Como valor predeterminado, este recurso contiene:

- Paletas incorporadas: `/usr/dt/palettes`

- Paletas accesibles en el sistema: `/etc/dt/palettes`

- Paletas personales: DirectorioInicio`/.dt/palettes`

###
Conjuntos de colores

Cada conjunto de colores de la paleta actual se representa mediante un botón de color en el cuadro de diálogo Color del Gestor de estilos. Cada color se identifica mediante un ID de conjunto de colores (un número del 1 al 8).

#### Valores de ID de conjuntos de colores para HIGH_COLOR

Cada conjunto de colores se compone de un máximo de cinco colores. Cada botón de color muestra el color de fondo del conjunto de colores. Los cinco colores de cada conjunto de colores representan los siguientes recursos componentes de pantalla:

`foreground` | Primer plano de una ventana de aplicación o marco de la ventana. Es siempre negro o blanco. Se utiliza generalmente para texto en ventanas y títulos.
`background` | Fondo de la aplicación o del marco de la ventana.
`topShadowColor` | Color de los biselados superiores e izquierdos de los controles de las aplicaciones (como por ejemplo, botones de acción) y de los marcos de las ventanas.
`bottomShadowColor` | Color de los biselados inferiores y derechos de los controles de las aplicaciones y de los marcos de las ventanas.
`selectColor` | Color que indica el estado activo de determinados controles, como por ejemplo conmutadores y botones.

El número de conjuntos de colores utilizados por cada paleta lo determina el recurso `colorUse`, que el usuario puede establecer utilizando el cuadro de diálogo Número de colores a utilizar del Gestor de estilos.

#### Especificación de los valores de colores

El Gestor de estilos utiliza
valores RGB cuando graba información de colores en los archivos de paletas. La sintaxis para los números RGB es:

    #RojoVerdeAzul

Rojo, Verde y Azul son números hexadecimales, cada uno de 1 a 4 dígitos de longitud, que indican la cantidad utilizada de dicho color. Tiene que haber el mismo número de dígitos para cada uno de los colores. De este modo, los valores de colores válidos constan de 3, 6, 9 ó 12 dígitos hexadecimales.

Por ejemplo, blanco se puede especificar de cualquiera de estos modos:

    #fff
    #ffffff
    #fffffffff
    #fffffffffffff

Si se establece directamente un recurso de color, se puede utilizar el nombre de color o el valor RGB. El archivo `/usr/lib/X11/rgb.txt`
lista todos los colores mencionados.

####
Cómo se establece una correspondencia entre los conjuntos de colores y los recursos

El escritorio establece una correspondencia de los recursos de colores con diversos elementos de la pantalla por medio de recursos y realiza las siguientes asignaciones:

Recurso | Elemento de pantalla
`activeColorSetId` | Color del marco de la ventana activa
`inactiveColorSetId` | Color del marco de la ventana inactiva
`textColorSetId` | Áreas de entrada de texto
`primaryColorSetId` | Áreas de fondo principales de la aplicación
`secondaryColorSetId` | Barra de menús, menús y cuadros de diálogo de la aplicación

Estos recursos toman como valor un ID de conjunto de colores. Si se utilizan colores para los elementos de pantalla con ID de conjuntos de colores, el elemento puede cambiar dinámicamente al nuevo esquema de colores cuando se selecciona una nueva paleta con el Gestor de estilos.

Se pueden utilizar estos recursos para aplicaciones individuales. Por ejemplo, la línea siguiente muestra cómo se agruparían visualmente todas las ventanas `dtterm` utilizando el conjunto de colores 8 para el color primario.

    dtterm*primaryColorSetId: 8

####
Asignaciones de conjuntos de colores predeterminados

Los ID de conjuntos de colores utilizados para los elementos de la pantalla dependen del valor Número de colores del Gestor de estilos:

- Alto colorido (8 conjuntos de colores)—Valor del Gestor de estilos Más colores para el escritorio:

  ID de conjunto de colores | Elemento de pantalla
  1 | Color del marco de la ventana activa
  2 | Color del marco de la ventana inactiva
  3 | No utilizado (como valor predeterminado)
  4 | Áreas de entrada de texto
  5 | Áreas de fondo principales de la aplicación
  6 | Barra de menús, menús y cuadros de diálogo de la aplicación
  7 | No utilizado como valor predeterminado
  8 | Fondo del Panel Frontal

- Colorido medio (4 conjuntos de colores)—Valor del Gestor de estilos Más colores para las aplicaciones:

  ID de conjunto de colores | Elemento de pantalla
  1 | Color del marco de la ventana activa
  2 | Color del marco de la ventana inactiva
  3 | Color de fondo de la aplicación y del Panel Frontal
  4 | Áreas de entrada de texto

- Bajo colorido (2 conjuntos de colores)—Valor del Gestor de estilos Máximo número de colores para las aplicaciones

  ID de conjunto de colores | Elemento de pantalla
  1 | Marco de la ventana activa, botones de selección de espacio de trabajo
  2 | Los restantes elementos de la pantalla

### Control del color con el Gestor de estilos

Mediante el Gestor de estilos se puede cambiar dinámicamente el color de las aplicaciones de escritorio y de otras aplicaciones que funcionan conjuntamente. Las aplicaciones que no funcionan conjuntamente pueden disponer de los colores de primer plano y de fondo establecidos por el Gestor de estilos.

- Para que un cliente responda a los cambios de colores del Gestor de estilos, dicho cliente tiene que estar utilizando la biblioteca Motif del escritorio. Los clientes escritos con otros kits de utilidades no pueden cambiar de color dinámicamente en respuesta a los cambios del Gestor de estilos. Los cambios de color para dichos clientes no entran en vigor hasta que se reinicia el cliente.

- No tiene que aplicarse ningún otro recurso de color específico al cliente. Esto incluye recursos especificados por el usuario, appdefaults y recursos creados en la aplicación.

- Los clientes pueden especificar los recursos `primaryColorSetId`
  y `secondaryColorSetId`
  para utilizar determinados colores dentro de una paleta del escritorio.

###
Número de colores utilizados por el Gestor de estilos

El número de colores utilizados por el Gestor de estilos depende de los valores de los siguientes recursos:

`colorUse` | Configura el número de colores que utiliza el escritorio
`shadowPixmaps` | Indica al escritorio que sustituya los dos colores de sombra por mapas de pixels
`foregroundColor` | Especifica si el color de primer plano cambia dinámicamente.
`dynamicColor` | Controla si las aplicaciones cambian de color cuando se conmutan paletas.

La SAG.FACol.mkr.10 lista el número máximo de colores asignados por el escritorio
.

### Número de colores de escritorio

`Pantalla` | `Número máximo de colores` | `Número derivado de`
B_W | 2 | Blanco y negro
LOW_COLOR | 12 | Dos conjuntos de colores multiplicado por cinco colores más blanco y negro
MEDIUM_COLOR | 22 | Cuatro conjuntos de colores multiplicado por cinco colores más blanco y negro
HIGH_COLOR | 42 | Ocho conjuntos de colores multiplicado por cinco colores más blanco y negro

Para determinar el número máximo de colores:

1. Multiplique el número de conjuntos de colores de la paleta por el número de colores de cada conjunto de colores.

2. Sume 2 (para blanco y negro).

Sin embargo, con la configuración siguiente sólo tendrá diez colores en la paleta: cuatro conjuntos de colores multiplicado por dos colores de cada conjunto (`background` y `selectColor`) más blanco y negro:

    *colorUse: MEDIUM_COLOR
    *shadowPixmaps: True
    *foregroundColor: White

Los iconos de varios colores utilizan catorce colores adicionales.

####
Recurso colorUse

El valor predeterminado del recurso `colorUse` es MEDIUM_COLOR. El valor de este recurso afecta al número de conjuntos de colores utilizados en una paleta. Otros recursos afectan al número de colores utilizados para hacer sombras. El valor del recurso `colorUse` también afecta el uso de iconos de varios colores
.

Valor | Descripción
B_W | Valor “Negro y blanco” del Gestor de estilos Se muestra con 1, 2 o 3 planos de color Número de conjuntos de colores: 2 Número máximo de colores: 2 Número predeterminado de colores: 2 Ningún icono multicolor
LOW_COLOR | Valor “Máximo número de colores para las aplicaciones” del Gestor de estilos Se muestra con 4 o 5 planos de color Número de conjuntos de colores: 2 Número máximo de colores: 12 Número predeterminado de colores: 12 Ningún icono multicolor
MEDIUM_COLOR | Valor “Más colores para las aplicaciones” del Gestor de estilos Se muestra con 6 planos de color Número de conjuntos de colores: 4 Número máximo de colores: 22 Número predeterminado de colores: 22 Iconos multicolores
HIGH_COLOR | Valor “Más colores para el escritorio” del Gestor de estilos Se muestra con 7 o más planos de color Número de conjuntos de colores: 8 Número máximo de colores: 42 Número predeterminado de colores: 42 Iconos multicolores
default | El escritorio elige el valor correcto para dicha pantalla. (Para reducir el número de colores utilizados por el escritorio para pantallas de alto colorido, el recurso predeterminado `colorUse` se establece en MEDIUM_COLOR.)

####
Recurso shadowPixmaps

El recurso `shadowPixmaps` indica al escritorio que sustituya los dos colores de sombra por mapas de pixels. Estos mapas de pixels mezclan el color de fondo con el blanco y negro para simular valores de sombra superior o inferior. Esto reduce el número de colores necesarios en dos, puesto que no es necesario asignar casillas de color para los colores de sombra.

Valor | Descripción
True | El escritorio crea un `topShadowPixmap` y un `bottomShadowPixmap` para utilizarlos en lugar de los colores de sombra.
False | Se utilizan `topShadowColor` y `bottomShadowColor` de la paleta.

El valor predeterminado para `shadowPixmaps` depende del recurso `colorUse` que se tenga y del soporte de hardware para la pantalla.

####
Recurso foregroundColor

El recurso `foregroundColor` especifica cómo se configura el primer plano en una paleta.

Configuración | Resultado
White | El primer plano se establece en blanco.
Black | El primer plano se establece en negro.
Dynamic | (Valor predeterminado) El primer plano se establece dinámicamente en negro o blanco, en función del valor de background. Por ejemplo, es difícil leer letras blancas sobre un fondo amarillo, por lo que el sistema elige negro.

Si `foregroundColor` se establece en Black (Negro) o White (Blanco), el número de colores del conjunto de colores se reduce en uno y el primer plano no cambia a consecuencia de los cambios del color de fondo.

El valor predeterminado para `foregroundColor` es Dynamic (dinámico), excepto cuando el valor de `colorUse` es B_W.

####
Recurso dynamicColor

El recurso `dynamicColor` controla si las aplicaciones cambian de color dinámicamente; es decir, si los clientes cambian de color cuando se conmutan paletas.

Valor | Descripción
True | Los clientes cambian de color dinámicamente cuando se selecciona una nueva paleta. Éste es el valor predeterminado.
False | Los clientes no cambian de color dinámicamente. Si se selecciona una nueva paleta, los clientes utilizarán los nuevos colores cuando se reinicie la sesión.

Cuando el valor del recurso `dynamicColor` es True, los clientes que no pueden cambiar los colores dinámicamente (aplicaciones no Motif) asignan casillas del mapa de colores diferentes de las de los clientes que cambian los colores dinámicamente, aunque se vea el mismo color.

Dado que todos los clientes pueden compartir las mismas casillas de colores, si se establece `dynamicColor` en False, se reduce el número de colores tomados por el escritorio.

## Establecimiento de grosores de sombra para ventanas de aplicaciones

El escritorio define un grosor de sombra predeterminado de un pixel para los componentes de las ventanas de las aplicaciones, como por ejemplo las sombras de los botones y el resaltado del foco. Las aplicaciones Motif 1.2 utilizan este valor del recurso; es posible que otras aplicaciones no obtengan este valor del recurso y, por consiguiente, tendrán un aspecto diferente en la pantalla.

Para establecer el grosor de la sombra a un pixel para aplicaciones no Motif 1.2:

1. Inicie la sesión como root.

2. Cree el archivo `/etc/dt/config/`idioma`/sys.resources`.

3. Especifique el recurso específico de la aplicación en `/etc/dt/config/`idioma`/sys.resources` del siguiente modo:

   `nombre_clase_aplicación*XmCascadeButton*shadowThickness: 1`

Para obtener información sobre cómo alterar temporalmente los recursos predeterminados del sistema y sobre cómo especificar recursos adicionales para todos los usuarios del escritorio, consulte la sección SAG.SesMg.mkr.7.