Puntero X Gigante

Jörg Schneider, joerg.schneider@ira.uka.de.

Traducido por Iosu Santurtún, iosu@bigfoot.com. v2, 11 de Agosto de 1997. Fecha de la traducción 7 de Junio de 1998 Este documento describe cómo usar punteros agrandados con el sistema X Window.

Índice General

1 Introducción 1 2 Acerca de este documento 2 3 Cómo se hace 2 4 Notas y limitaciones 3 5 Discusión técnica 3 6 Otras ideas para hacer el puntero del ratón más visible 4 7 Información relacionada 4

7.1 Cómo usar un servidor de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7.2 Instalar un servidor de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

8 Cómo conseguir la fuente bdf para algún tipo 5 9 Anexo: El INSFLUG 5

1 Introducción

Hay numerosas razones por las que el puntero X normal es difícil de seguir para algunas personas: • al usar un sistema X en una agenda con pantalla LCD de bajo contraste.

• al utilizar pantallas normales con alta resolución, p.e. 1600x1200.

• al tratarse de impedidos visuales incluso utilizando un hardware normal. En todos los casos ayudaría el uso de punteros de ratón agrandados. Idealmente esta tarea la debería realizar u único programa X que automáticamente agrandase todos los punteros del ratón. Por lo que yo sé, no hay una forma fácil de hacer ésto, ya que el protocolo X no prevee examinar los punteros del ratón. Para más detalles, véase la sección 5 (Discusión técnica) Si nos ponemos una meta menos general, sin embargo, se puede hacer algo:

Hay un conjunto de punteros estándar que se pueden encontrar en el tipo cursor (pruebe xfd -fn cursor para verlos). La mayoría de los programas usan estos punteros y la idea clave es reemplazar estos punteros con otros mayores.

2 Acerca de este documento

La motivación de este mini-COMO fue un compañero de estudios con discapacidad visual que me preguntó como agrandar el puntero de ratón bajo un sistema X. Una vez que encontré cómo hacer aquello, escribí una versión inicial de este documento. El conocimiento sobre el método aquí descrito no parece ser muy general, así que decidí compartirlo y envié este documento como un mini-COMO Linux, a pesar del hecho de que no es en absoluto específico de Linux. Como el resto de mini-COMOs se puede encontrar en el servidor del

LDP (Linux Documentation Project) http://unc.sunsite.edu/LDP/HOWTO/.

1

El original de este documento http://i11www.ira.uka.de/˜ schneid/X11-big-cursor/master/ (N.del T.

así como su traducción) se mantiene en formato SGML/linuxdoc. Esto hace posible proporcionar automáticamente versiones en los siguientes formatos (que se pueden encontrar en el mismo lugar que el original): html, texto, LaTeX, DVI, PostScript, GNU info.

Shinobu Miyata shinobu@emichan.rim.or.jp ha traducido este mini-COMO al japonés. Se puede encontrar

en http://i11www.ira.uka.de/˜ schneid/jp/X11-big-cursor/

3 Cómo se hace

Siga los pasos indicados debajo. Si no quiere obtener y compilar el paquete bfdresize, puede saltarse los pasos 1 y 2 y descargar una fuente aumentada en lugar de crearla.

1. obtenga cursor.bdf, la fuente del tipo cursor, de alguna distribución X,

     por  ejemplo  de  ftp://ftp.x.org/pub/R6.3/xc/fonts/misc/cursor.bdf  (si  no

lo encuentra allí pruebe una búsqueda archie o descárguelo de mi copia en

     http://i11www.ira.uka.de/˜ schneid/X11-big-cursor/cursor.bdf)
  2. obtenga, compile e instale el paquete bdfresize de ftp://ftp.cs.titech.ac.jp/X11/contrib/Local/bdfresize-1.4.tar.Z
     (o de mi copia en http://i11www.ira.uka.de/˜ schneid/X11-big-cursor/bdfresize-1.4.tar.gz):
                  zcat bdfresize-1.4.tar.Z | tar xf -
                  cd bdfresize-1.4
                  xmkmf
                  make

En Linux probablemente tenga que usar:

                  make CCOPTIONS='-include /usr/include/bsd/bsd.h' clean all

3. cree un directorio e instale el tipo agrandado cursor en él (factor de agrandado 2 en este ejemplo)

                  mkdir $HOME/fonts
                  bdfresize -f 2 cursor.bdf | bdftopcf > $HOME/fonts/cursor2.pcf
                  mkfontdir $HOME/fonts

1N.del T. Para encontrar las traducciones de los COMOs y los mini-COMOs, se puede consultar el servidor de INSFLUG en

http://www.insflug.org.

He preparado algunos tipos cursor en http://i11www.ira.uka.de/˜ schneid/X11-big-cursor/fonts/

con los siguientes factores de aumento: 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8 y 16. Puede descargar uno de ellos y copiarlo a $HOME/fonts si no quiere usar bdfresize.

4. modifique su .xinitrc o .xsession: antes de arrancar ningún cliente (que use punteros) hay que ejecutar los siguientes comandos:

             xset +fp $HOME/fonts
             xsetroot -cursor_name X_cursor

5. abandone su sesión X y reinicie.

Eso es todo – ahora todos los punteros del ratón deberían ser el doble de grandes.

4 Notas y limitaciones

• Los servidores X pueden tener un límite máximo en el tamaño del puntero, sobre todo si usan una implementación hardware del puntero. Otros no tienen tal limitación, p.e. XF86_S3 funciona incluso con un puntero de 512x512 (aunque bastante lentamente).

• El tipo agrandado cursor debe tener el mismo nombre que el tipo original; (el nombre de tipo debe ser cursor, el nombre del fichero no importa) eso no es problema ya que bdfresize no cambia el nombre del tipo.

• El directorio con el nuevo tipo cursor debe colocarse antes que el directorio con el tipo cursor estándar en el path de los tipos – esto se lleva a cabo con xset +fp (al contrario que con xset fp+).

• Los cambios en $HOME/fonts solamente serán visibles después después de los comandos:

             mkfontdir $HOME/fonts
             xset fp rehash

y sólo en clientes X arrancados de nuevo (más exáctamente: para punteros creados nuevamente).

• xset +fp path puede que no funcione en un terminal X. En este caso se puede usar un servidor de fuentes si es soportado por el terimnal X (véase la sección 7.1 (Cómo usar un servidor de tipos)) u otro método para instalar el tipo en el terminal X (normalmente esto solo lo puede hacer el administrador del sistema).

• La misma idea se puede usar para los tipos olcursor y decw$cursor y otros tipos de puntero que se puedan encontrar.

• Los tipos puntero generados por bdfresize no son suaves, especialmente con un factor de modificación grande. Sería agradable si alguien pudiese crear una versión más bonita a mano, de los tamaños más comunes.

5 Discusión técnica

Cómo escribir un programa que agrande los punteros en X automáticamente

solución 1 Usar XTestCompareCursor de la extensión XTEST. Para todas aquellas ventanas en las que entre el puntero del ratón, comparar el puntero con un grupo de punteros ’conocidos’ (p.e. con los del tipo cursor). Si se encuentra el puntero, sustituirlo con el puntero agrandado, si no, dejarlo o sustituir un cursor estándar. Esto solo funciona si la extensión XTest está disponible.

solución 2 Escribir un servidor X proxy que deje pasar las peticiones de los clientes al servidor X real, y que intercepte todas las peticiones correspondientes a las funciones de Xlib XCreate*Cursor. Las peticiones XCreate*Cursor deberían ser modificadas para usar un puntero mayor. Este servidor proxy simula una nueva pantalla, p.e. :1. Todos los clientes que se conecten a esta pantalla (p.e xterm -display :1) se muestran en el servidor real (normalmente :0) y sus punteros de ratón son agrandados automáticamente. Los punteros de los clientes que se conecten a :0 permanecerán sin cambios.

6 Otras ideas para hacer el puntero del ratón más visible

He aquí algunas ideas para programas sencillos que podrían hacer más fácil el seguimiento del puntero del ratón.

• Cuando se pulse una determinada tecla (o combinación de teclas) mostrar algo (un cursor grande, una ventana pequeña, una ventana con una forma determinada) en la posición actual del puntero durante medio segundo.

• Usar XRecolorCursor para cambiar el color del puntero cada décima de segundo.

Un proyecto más exigente sería la estela del ratón al estilo de windows, por ejemplo, cuando se mueve el ratón y el puntero tiene que ser pintado en una posición diferente, el antiguo no desaparece al momento, sino después de un cierto retraso. Las estelas del ratón posiblemente fuera mejor implementarlas en el propio servidor, pero también se podría hacerlo como un cliente X, o mejor como un servidor proxy (Véase la sección 5 (Discusión técnica)).

7 Información relacionada

7.1 Cómo usar un servidor de tipos

Un servidor de tipos es un servicio de red que proporciona un conjunto de tipos X11 con un protocolo simple. Se le puede consultar qué tipos proporciona y servirá el mapa de bits de un tipo determinado a petición.

Podría usarse el servidor de fuentes para proporcionar al servidor X el tipo cursor modificado, en lugar de decirle dónde encontrarlo en el sistema de ficheros.

Este sistema es especialmente apropiado si se utilizan varias máquinas que no comparten u sistema de ficheros común o si se utilizan terminales X que soporten el protocolo del servidor de tipos.

Un programa de servidor de tipos y algunas herramientas asociadas viene con la distribución X11R5+ (hasta donde yo sé).

7.2 Instalar un servidor de tipos

Lea las páginas del manual fs(1), fslsfonts(1) (o xfs(1), xfslsfonts(1) bajo X11R6) e inténtelo, no es difícil. Digamos que el servidor está funcionando en un.ordenador.edu en el puerto 7100. Se puede probar la instalación haciendo

             fslsfonts -server un.ordenador.edu:7100

Para utilizar realmente el servidor lance el comando

             xset +fp tcp/un.ordenador.edu:7100

que debería devolver un mensaje de error.

8 Cómo conseguir la fuente bdf para algún tipo

Si ha instalado un servidor de tipos, simplemente use fstobdf, que viene con el servidor de tipos. Como alternativa, puede probar con getbdf que puede volcar cualquier tipo X11 instalado a un fichero.

9 Anexo: El INSFLUG

El INSFLUG forma parte del grupo internacional Linux Documentation Project, encargándose de las traducciones al castellano de los Howtos, así como de la producción de documentos originales en aquellos casos en los que no existe análogo en inglés, centrándose, preferentemente, en documentos breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs. :) ), etc.

Diríjase a la sede del Insflug para más información al respecto.

En élla encontrará siempre las últimas versiones de las traducciones «oficiales»: www.insflug.org. Asegúrese de comprobar cuál es la última versión disponible en el Insflug antes de bajar un documento de un servidor réplica.

Además, cuenta con un sistema interactivo de gestión de fe de erratas y sugerencias en línea, motor de búsqueda específico, y más servicios en los que estamos trabajando incesantemente.

Se proporciona también una lista de los servidores réplica (mirror) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano.

En http://www.insflug.org/insflug/creditos.php3 cuenta con una detallada relación de las personas

que hacen posible tanto esto como las traducciones.

¡Diríjase a http://www.insflug.org/colaboracion/index.php3 si desea unirse a nosotros!.
«Cartel» Insflug, cartel@insflug.org.