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.

1. Introducción

Hay numerosas razones por las que el puntero X normal es difícil de seguir para algunas personas:

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 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/.

N.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.

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
    
    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

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.

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 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.