.. _22: 22 Marcos y Pantallas Gráficas ============================== Cuando Emacs se inicia en una pantalla gráfica, por ejemplo, en el sistema X Window, ocupa una región de pantalla gráfica a nivel de sistema. En este manual, llamamos a esto *marco*, reservando la palabra "ventana" para la parte del marco usada para mostrar un búfer. Un marco contiene inicialmente una ventana, pero puede subdividirse en múltiples ventanas (ver :ref:`21`). Normalmente, un marco también contiene una barra de menús, una barra de herramientas y un área de eco. También puede crear marcos adicionales (véase :ref:`22.6` Creación de Marcos). Todos los marcos creados en la misma sesión de Emacs tienen acceso a los mismos búferes subyacentes y otros datos. Por ejemplo, si un búfer está siendo mostrado en más de un marco, cualquier cambio hecho en él en un marco se muestra inmediatamente en los otros marcos también. Tecleando :kbd:`Ctrl`-:kbd:`x` :kbd:`Ctrl`-:Kbd:`c` (``C-x C-c``) se cierran todos los marcos de la pantalla actual, y finaliza la sesión Emacs si no tiene marcos abiertos en ninguna otra pantalla (ver :ref:`7` Salir de Emacs). Para cerrar sólo el marco seleccionado, teclee :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`0` (``C-x 5 0``, cero, no o). Este capítulo describe las características de Emacs específicas de las pantallas gráficas (particularmente los comandos del ratón), y las características para gestionar múltiples marcos. En terminales de texto, muchas de estas características no están disponibles. Sin embargo, todavía es posible crear múltiples marcos en terminales de texto; tales marcos se muestran de uno en uno, llenando toda la pantalla del terminal (ver :ref:`22.22` Terminales Sin Ventana). También es posible usar el ratón en algunos terminales de texto (véase :ref:`12.2` Uso del Ratón en Terminales de Texto, para hacerlo en sistemas GNU y Unix; y véase **Uso del Ratón en MS-DOS**, para hacerlo en MS-DOS). Todos los terminales de texto admiten menús. .. _22.1: 22.1 Comandos del Ratón para Edición ------------------------------------ ``ratón-1`` Mueve el punto al lugar donde hace clic (``mouse-set-point``). ``arrastrar-mouse-2`` Activa la región alrededor del texto seleccionado arrastrando, y sitúa el texto en la selección primaria (``mouse-set-region``). ``ratón-2`` Mueve el punto hacia donde ha hecho clic, e inserta allí el contenido de la selección primaria (``mouse-yank-primary``). ``ratón-3`` Si la región está activa, desplaza el extremo más cercano de la región a la posición del clic; en caso contrario, sitúa la marca en el valor actual del punto y el punto en la posición del clic. Guarda la región resultante en el anillo de muertes; con un segundo clic, se desactiva (``mouse-save-then-kill``). :kbd:`Ctrl`-:kbd:`Alt`-``ratón-1`` (``C-M-ratón-1``) Activa una región rectangular alrededor del texto seleccionado arrastrando. Véase :ref:`13.5` Rectángulos. El comando más básico del ratón es ``mouse-set-point`` (establecer el punto) con el ratón, que se invoca haciendo clic con el botón izquierdo del ratón, (``ratón-1``), en el área de texto de una ventana. Esto mueve el punto a la posición donde hizo clic. Si esa ventana no era la ventana seleccionada, Se convertirá en ella. También puede activar una región haciendo doble clic con ``ratón-1`` (consulte :ref:`22.2`). Normalmente, si el marco en el que ha hecho clic no era el marco seleccionado, se convierte en éste, además de seleccionar la ventana y fijar el cursor. En el sistema X Window, puede cambiar esto estableciendo la variable ``x-mouse-click-focus-ignore-position`` a ``t``. En ese caso, el clic inicial en un marco no seleccionado sólo selecciona el marco, sin hacer nada más; hacer clic de nuevo selecciona la ventana y establece la posición del cursor. Mantener pulsado ``ratón-1`` y arrastrar el ratón sobre un tramo de texto activa la región alrededor de ese texto (``mouse-set-region``), colocando la marca donde se empezó a mantener pulsado el botón del ratón, y el punto donde se suelta (véase :ref:`12`). Además, el texto de la región se convierte en la selección principal (véase :ref:`13.3.2`). Si cambia la variable ``mouse-drag-copy-region`` a un valor no nulo, al arrastrar el ratón sobre un tramo de texto también se añade el texto al anillo de destrucción. El valor por defecto es ``nil``. Si esta variable es ``no-empty``, sólo se copiará al anillo de muertes si la región no está vacía. Por ejemplo, si arrastra con el ratón un área de menos de medio carácter, normalmente obtendría la cadena vacía en el anillo de muertes, pero con ``non-empty``, este breve arrastre del ratón no afectará a dicho anillo. Si mueve el ratón fuera de la parte superior o inferior de la ventana mientras arrastra, la ventana se desplaza a un ritmo constante hasta que vuelva a mover el ratón dentro de la ventana. De este modo, puede seleccionar regiones que no caben completamente en la pantalla. El número de líneas que se desplazan por paso depende de lo lejos que se haya alejado el ratón del borde de la ventana; la variable ``mouse-scroll-min-lines`` especifica un tamaño mínimo de paso. Si activa la opción ``mouse-drag-mode-line-buffer`` y el sistema de ventanas admite el arrastre de archivos, al arrastrar el ratón sobre la parte del nombre del búfer de la línea de modo se arrastrará el archivo de ese búfer a otro programa o marco. Haciendo clic con el botón central del ratón (``ratón-2``) mueve el punto a la posición donde hizo clic e inserta el contenido de la selección primaria (``mouse-yank-primary``). Consulte :ref:`13.3.2`. Este comportamiento es consistente con otras aplicaciones X. Como alternativa, puede volver a vincular ``mouse-2`` a ``mouse-yank-at-click``, que jala (tira) en la posición en la que hizo clic. Si cambia la variable ``mouse-yank-at-point`` a un valor no nulo, ``mouse-2`` no mueve el punto; inserta el texto en el punto, independientemente de dónde haya hecho clic o incluso en cuál de las ventanas del marco haya hecho clic. Esta variable afecta tanto a ``mouse-yank-primary`` como a ``mouse-yank-at-click``. Al hacer clic con el botón derecho del ratón (``mouse-3``) se ejecuta el comando ``mouse-save-then-kill``. Esto realiza varias acciones dependiendo de dónde haga clic y del estado de la región: * Si no hay ninguna región activa, al pulsar ``ratón-3`` se activa la región, colocando la marca donde estaba el punto y el punto en la posición pulsada. * Si hay una región activa, al pulsar ``ratón-3`` se ajusta el extremo más cercano de la región, desplazándolo a la posición pulsada. El texto de la región ajustada se copia en el anillo de muertes; si el texto de la región original ya estaba en el anillo de muertes, lo sustituye allí. * Si originalmente especificó la región usando un doble o triple ``ratón-1``, de modo que la región se define para consistir en palabras o líneas enteras (ver :ref:`22.2`), entonces el ajuste de la región con ``ratón-3`` también procede por palabras o líneas enteras. * Si usa ``ratón-3`` una segunda vez consecutiva, en el mismo lugar, eso mata la región ya seleccionada. Por lo tanto, la forma más sencilla de matar el texto con el ratón es hacer clic con ``ratón-1`` en un extremo, a continuación, haga clic en el ``ratón-3`` dos veces en el otro extremo. Para copiar el texto en el anillo de muertes sin borrarlo del búfer, pulse ``ratón-3`` una sola vez, o simplemente arrastre el texto con ``ratón-1``. Luego puede copiarlo en otro lugar pulsando el botón del ``ratón-1`` en un extremo y luego pulsando ``ratón-3`` dos veces en el otro extremo. Luego puede copiarlo en otro lugar tirando de él. El comando ``mouse-save-then-kill`` también obedece a la variable ``mouse-drag-copy-region`` (descrita anteriormente). Si el valor es distinto de cero, siempre que el comando establezca o ajuste la región activa, el texto de la región también se añadirá al anillo de muertes. Si la última entrada de dicho anillo se había añadido de la misma manera, esa entrada se sustituye en lugar de hacer una nueva entrada. Siempre que ajuste la región mediante cualquiera de los comandos del ratón descritos anteriormente, la marca se desactivará mediante cualquier comando posterior de movimiento del cursor sin desplazamiento, además de las formas habituales de desactivar la marca. Véase :ref:`12.6`. Algunos ratones tienen una "rueda" que puede usarse para desplazarse. Emacs soporta el desplazamiento de ventanas con la rueda del ratón, por defecto, en la mayoría de las pantallas gráficas. Para activar esta función, use ``M-x mouse-wheel-mode``. Las variables ``mouse-wheel-follow-mouse`` y ``mouse-wheel-scroll-amount`` determinan dónde y cuánto se desplazan los búferes. La variable ``mouse-wheel-progressive-speed`` determina si la velocidad de desplazamiento está vinculada a la rapidez con la que se mueve la rueda. Este modo también permite aumentar o disminuir el tamaño de la fuente, por defecto vinculado al desplazamiento con el modificador :kbd:`Ctrl` (``Ctrl``). Cuando este modo está activado, la rueda del ratón produce eventos especiales como ``wheel-up`` (rueda-arriba) y ``wheel-down`` (rueda-abajo). (Algunos sistemas antiguos los reportan como ``ratón-4`` y ``ratón-5``) Si el ratón tiene una rueda de desplazamiento horizontal, también produce eventos ``wheel-left`` (rueda-izquierda) y ``wheel-right`` (rueda-derecha). Emacs también soporta el desplazamiento horizontal con el modificador :kbd:`Shift`. Escribiendo un prefijo numérico arg (e.g., :kbd:`Alt`-:kbd:`5` (``M-5``)) antes de iniciar el desplazamiento horizontal cambia su valor de paso definido por la opción de Usuario ``mouse-wheel-scroll-amount-horizontal``. Si la rueda del ratón se puede inclinar, o si el panel táctil lo permite, también puede activar el desplazamiento horizontal personalizando la variable ``mouse-wheel-tilt-scroll`` con un valor distinto de cero. Por defecto, al inclinar la rueda del ratón, la vista de la ventana se desplaza horizontalmente en la dirección de la inclinación: por ejemplo, si se inclina hacia la derecha, la ventana se desplaza hacia la derecha, de modo que el texto que aparece en la ventana se desplaza horizontalmente hacia la izquierda. Si desea invertir la dirección del desplazamiento horizontal, personalice la variable ``mouse-wheel-flip-direction`` a un valor no nulo. Cuando el puntero del ratón está sobre una imagen en el modo Imagen, véase :ref:`19.19`, el desplazamiento de la rueda del ratón con el modificador :kbd:`Ctrl` escala la imagen bajo el puntero del ratón, y el desplazamiento de la rueda del ratón con el modificador :kbd:`Shift` desplaza la imagen horizontalmente. .. _22.2: 22.2 Comandos de Ratón para Palabras y Líneas --------------------------------------------- Estas variantes de ``ratón-1`` seleccionan palabras o líneas enteras a la vez. Emacs activa la región alrededor del texto seleccionado, que también se copia en el anillo de muertes. ``doble-clic-ratón-1`` Selecciona el texto que rodea a la palabra o carácter sobre el que se hace clic. El doble clic sobre un carácter con sintaxis de símbolo (como el guión bajo, en modo C) selecciona el símbolo que rodea a ese carácter. Al hacer doble clic en un carácter con sintaxis de paréntesis abierto o cerrado, se selecciona la agrupación parentética que inicia o termina dicho carácter. Doble clic sobre un carácter con sintaxis de delimitador de cadena (como una comilla simple o doble en C) selecciona la constante de la cadena (Emacs usa heurística para averiguar si ese carácter es el principio o el final de la misma). Haciendo doble clic al principio de una agrupación parentética o al principio de un delimitador de cadena se mueve el punto al final de la región, desplazando la pantalla del búfer hacia delante si es necesario para mostrar la nueva ubicación del punto. Si se hace doble clic al final de una agrupación parentética o de un delimitador de cadena final, el punto se mantiene por defecto al final de la región, por lo que el principio de la región no será visible si se encuentra por encima de la parte superior de la ventana; si se establece la opción de Usuario ``mouse-select-region-move-to-beginning`` (seleccionar región con el ratón-mover al principio) a un valor distinto de cero, el punto se moverá al principio de la región, desplazando la pantalla hacia atrás si es necesario. ``doble-clic-ratón-1-arrastrar`` Selecciona el texto que arrastre, en unidades de palabras enteras. ``triple-clic-ratón-1`` Seleccione la línea en la que hace clic. ``tripe-clic-ratón-1-arrastrar`` Selecciona el texto que arrastra, en unidades de líneas enteras. .. _22.3: 22.3 Seguir Referencias con el Ratón ------------------------------------ Algunos búferes de Emacs incluyen *botones*, o *hipervínculos*: fragmentos de texto que realizan alguna acción (por ejemplo, seguir una referencia) cuando se activan (por ejemplo, pulsando sobre ellos). Normalmente, el texto de un botón se resalta visualmente: aparece subrayado o se dibuja un recuadro a su alrededor. Si pasa el ratón por encima de un botón, la forma del cursor cambia y el botón se ilumina. Si cambia la variable ``mouse-highlight`` a ``nil``, Emacs desactiva este resaltado. Puede activar un botón moviendo el puntero sobre él y escribiendo :kbd:`RETURN` (``RET``), o pulsando con ``ratón-1`` o ``ratón-2`` sobre el botón. Por ejemplo, en un búfer Dired, cada nombre de archivo es un botón; activarlo hace que Emacs visite ese archivo (ver :ref:`21`). En un búfer ``*Compilation*``, cada mensaje de error es un botón, y al activarlo se visita el código fuente de ese error (ver :ref:`28.1`). Aunque pulsar con ``ratón-1`` sobre un botón normalmente activa el botón, si mantiene pulsado el botón del ratón durante un periodo de tiempo antes de soltarlo (concretamente, durante más de 450 milisegundos), entonces Emacs mueve el punto donde ha pulsado, sin activar el botón. De esta forma, puede utilizar el ratón para mover el punto sobre un botón sin activarlo. Arrastrar el ratón sobre o hacia un botón tiene su comportamiento habitual de fijar la región, y no activa el botón. Puede cambiar cómo se aplica ``ratón-1`` a los botones personalizando la variable ``mouse-1-click-follows-link``. Si el valor es un entero positivo, esto determina cuánto tiempo necesita mantener pulsado el botón del ratón, en milisegundos, para cancelar la activación del botón; el valor por defecto es 450, como se describe en el párrafo anterior. Si el valor es ``nil``, ``ratón-1`` sólo fija el punto donde se hizo clic, y no activa los botones. Si el valor es ``double``, los clics dobles activan los botones, pero los clics simples sólo fijan el punto. Normalmente, ``ratón-1`` en un botón activa el botón incluso si está en una ventana no seleccionada. Si cambia la variable ``mouse-1-click-in-non-selected-windows`` a ``nil``, ``ratón-1`` sobre un botón en una ventana no seleccionada mueve el punto a la posición del clic y selecciona esa ventana, sin activar el botón. .. _22.4: 22.4 Clics de Ratón para Menús ------------------------------ Varias pulsaciones del ratón con los modificadores Ctrl y SHIFT hacen aparecer menús. ``C-ratón-1`` Este menú sirve para seleccionar un búfer. El modo menor global MSB ("mouse select buffer", selección de búfer con el ratón) hace que este menú sea más inteligente y personalizable. Véase :ref:`20.7.3`. ``C-ratón-2`` Este menú contiene entradas para examinar las caras y otras propiedades del texto, así como para ajustarlas (esto último es útil sobre todo al editar texto enriquecido; véase :ref:`26.14`). ``C-ratón-3`` Este menú es específico de cada modo. En la mayoría de los modos, si el modo Barra de menús está activado, este menú tiene los mismos elementos que todos los menús de la barra de menús específicos de cada modo juntos. Algunos modos pueden especificar un menú diferente para este botón. Si el modo Barra de menús está desactivado, este menú contiene todos los elementos que estarían presentes en la barra de menús -no sólo los específicos de cada modo- para que pueda acceder a ellos sin tener que mostrar dicha barra. ``Shift-ratón-1`` Este menú sirve para cambiar la cara por defecto dentro del búfer de la ventana. Véase :ref:`15.12`. Muchas aplicaciones GUI usan ``mouse-3`` para mostrar menús contextuales: menús que proporcionan acceso a varios ajustes y acciones pertinentes para la localización y el contexto del clic del ratón. Si prefiere esto en Emacs a la función por defecto de ``mouse-3``, que está ligada al comando ``mouse-save-then-kill`` (ver :ref:`15.12`), puede activar el modo menor ``context-menu-mode``. Entonces Emacs mostrará menús contextuales cuando pulse ``ratón-3``. El contenido exacto de estos menús contextuales depende del modo mayor actual y del contenido del búfer alrededor del lugar donde pulsa el ratón. Para personalizar los contenidos del menú contextual, puede usar la variable ``context-menu-functions`` (ver **Convenciones del Modo Mayor** en el Manual de Referencia de Emacs Lisp). También puede invocar el menú contextual pulsando :kbd:`Shift`-:kbd:`F10` (``S-F10``). .. _22.5: 22.5 Comandos del Ratón en la Línea de Modo ------------------------------------------- Puede usar los clics del ratón en las líneas de modo de ventana para seleccionar y manipularlas. Algunas áreas de la línea de modo, como el nombre del búfer y los nombres de los modos mayor y menor, tienen sus propios enlaces especiales del ratón. Estas áreas se resaltan cuando se mantiene el ratón sobre ellas, y se mostrará información sobre los enlaces especiales (ver :ref:`22.19`). Los comandos de esta sección no se aplican en esas áreas. ``ratón-1`` ``ratón-1`` sobre una línea de modo selecciona la ventana a la que pertenece. Arrastrando ``ratón-1`` sobre la línea de modo, puede moverla, cambiando así la altura de las ventanas por encima y por debajo. Al cambiar la altura con el ratón de esta manera nunca se borran ventanas, sólo se niega a hacer cualquier ventana más pequeña que la altura mínima. ``ratón-2`` ``ratón-2`` en una línea de modo expande esa ventana para llenar su marco. ``ratón-3`` ``ratón-3`` sobre una línea de modo borra la ventana a la que pertenece. Si el marco sólo tiene una ventana, no hace nada. :kbd:`Ctrl`-``ratón-2`` (``C-ratón-2``) ``C-ratón-2`` en una línea de modo divide esa ventana, produciendo dos ventanas una al lado de la otra con el límite pasando por la posición del clic (ver :ref:`21.2`). Además, haciendo clic y arrastrando ``ratón-1`` en el divisor entre dos líneas de modo contiguas, puede mover el límite vertical a la izquierda o a la derecha. Tenga en cuenta que el cambio de tamaño de las ventanas se ve afectado por el valor de ``window-resize-pixelwise``, véase :ref:`21.2`. .. _22.6: 22.6 Creación de Marcos ----------------------- La tecla de prefijo :kbd:`Ctrl`-:kbd:`x` :kbd:`5` (``C-x 5``) es análoga a :kbd:`Ctrl`-:kbd:`x` :kbd:`4` (``C-x 4``). Mientras que cada comando ``C-x 4`` abre un búfer en una ventana diferente del marco seleccionado (véase :ref:`21.4`), los comandos ``C-x 5`` usan un marco diferente. Si un marco existente visible o iconificado (también conocido como "minimizado", ver **Visibilidad de Marcos** en el Manual de Referencia de Emacs Lisp) ya muestra el búfer solicitado, ese marco es levantado y deiconificado ("des-minimizado"); de lo contrario, un nuevo marco es creado en el terminal de visualización actual. Los distintos comandos ``C-x 5`` difieren en cómo encuentran o crean el búfer a seleccionar: :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`2` (``C-x 5 2``) Crea un nuevo marco usando los parámetros por defecto del marco (``make-frame-command``). :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`c` (``C-x 5 c``) Crea un nuevo marco usando la configuración de la ventana y los parámetros del marco actual (``clone-frame``). :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`b` *nombrebúfer* :kbd:`RETURN` (``C-x 5 b`` *nombrebúfer* ``RET``) Selecciona el búfer *nombrebúfer* en otro marco. Esto ejecuta ``switch-to-buffer-other-frame``. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`f` *nombrearchivo* :kbd:`RETURN` (``C-x 5 f`` *nombrearchivo* ``RET``) Visita el archivo *nombrearchivo* y selecciona su búfer en otro marco. Esto ejecuta ``find-file-other-frame`` (buscar-archivo-otro-marco). Véase :ref:`19.2`. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`d` *directorio* :kbd:`RETURN` (``C-x 5 d`` *directorio* ``RET``) Selecciona un búfer Dired para el *directorio* en otro marco. Esto ejecuta ``dired-other-frame`` (directorio-otro-marco). Véase :ref:`31`. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`m` (``C-x 5 m``) Comienza a redactar un mensaje de correo en otro marco. Esto ejecuta ``compose-mail-other-frame`` (componer-correo-otro-marco). Es la variante para otro marco de ``C-x m``. Véase :ref:`33`. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`.` (``C-x 5 .``) Encuentra la definición de un identificador en otro marco. Esto ejecuta ``xref-find-definitions-other-frame``, la variante de marcos múltiples de :kbd:`Alt`-:kbd:`.` (``M-.``). Véase :ref:`29.4`. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`r` (``C-x 5 r`` *nombrearchivo* ``RET``) Visita el archivo *nombrearchivo* de sólo lectura, y selecciona su búfer en otro marco. Esto ejecuta ``find-file-read-only-other-frame``. Véase :ref:`19.2`. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`5` (``C-x 5 5``) Un comando prefijo más general que afecta al búfer mostrado por el siguiente comando invocado inmediatamente después de este comando prefijo (``other-frame-prefix``). Solicita que el búfer del siguiente comando se muestre en otro marco. Puede controlar la apariencia y el comportamiento de los marcos recién creados especificando *parámetros de marco*. Consulte :ref:`22.11`. .. _22.7: 22.7 Comandos de Marco ---------------------- Los siguientes comandos se usan para borrar y operar sobre marcos: :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`0` (``C-x 5 0``) Elimina el marco seleccionado (``delete-frame``). Esto indica un error si sólo hay un marco. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`u` (``C-x 5 u``) Cuando se activa el modo ``undelete-frame-mode``, se recupera uno de los 16 marcos eliminados más recientemente. Sin un argumento de prefijo, recupera el último marco eliminado. Con un prefijo numérico entre 1 y 16, donde 1 es el último marco borrado, se borra el marco correspondiente. :kbd:`Ctrl`-:kbd:`z` (``C-z``) Minimiza (o iconifica) el marco de Emacs seleccionado (``suspend-frame``, suspender-marco). Ver :ref:`7`. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`o` (``C-x 5 o``) Selecciona otro marco y lo levanta. Si repite este comando, recorre todos los marcos de su terminal. :kbd:`Ctrl`-:kbd:`x` :kbd:`5`:kbd:`1` (``C-x 5 1``) Borra todos los marcos del terminal actual, excepto el seleccionado. :kbd:`Alt`-:kbd:`F10` (``M-F10``) Cambia el estado de maximización del marco actual. Cuando un marco está maximizado, ocupa toda la pantalla. :kbd:`F11` (``F11``) Activa el modo de pantalla completa para el marco actual. (La diferencia entre pantalla completa y maximizada es normalmente que la primera oculta las decoraciones del gestor de ventanas, dando algo más de espacio de pantalla al propio Emacs). Tenga en cuenta que con algunos gestores de ventanas puede que tenga que personalizar la variable ``frame-resize-pixelwise`` a un valor no nulo para que un marco quede realmente maximizado o a pantalla completa. Esta variable, cuando se establece a un valor no nulo, en general permite redimensionar marcos a resolución de píxel, en lugar de en múltiplos integrales de líneas y columnas. El comando ``C-x 5 0`` (``delete-frame``, borrar marco) borra el marco seleccionado. Sin embargo, se negará a borrar el último marco de una sesión Emacs, para evitar que pierda la capacidad de interactuar con la sesión Emacs. Tenga en cuenta que cuando Emacs se ejecuta como demonio (vea :ref:`40`), siempre hay un marco virtual que permanece después de que todos los marcos interactivos ordinarios son borrados. En este caso, ``C-x 5 0`` puede borrar el último marco interactivo; puedes usar ``emacsclient`` para reconectar con la sesión de Emacs. El comando ``C-x 5 1`` (``delete-other-frames``) borra todos los otros marcos en la terminal actual (esta terminal se refiere tanto a una pantalla gráfica, como a una terminal de texto; ver :ref:`22.21`). Si la sesión Emacs tiene marcos abiertos en otras pantallas gráficas o terminales de texto, éstos no se borran. El comando ``C-x 5 o`` (``other-frame``) selecciona el siguiente marco en el terminal actual. Si está usando Emacs en el sistema X Window con un gestor de ventanas que selecciona (o da foco) a cualquier marco sobre el que esté el cursor del ratón, tiene que cambiar la variable ``focus-follows-mouse`` a ``t`` para que este comando funcione correctamente. Entonces invocar ``C-x 5 o`` también deformará el cursor del ratón en el marco elegido. .. _22.8: 22.8 Fuentes ------------ Por defecto, Emacs muestra el texto en pantallas gráficas usando una fuente monospace de 10 puntos, y el tamaño de la fuente puede cambiarse interactivamente (ver :ref:`15.12`). Hay varias formas de especificar una fuente diferente: * Haga clic en ``Set Default Font`` (Establecer fuente predeterminada) en el menú ``Options`` (Opciones). De este modo, la fuente seleccionada será la predeterminada en todos los marcos gráficos existentes. Para guardar esta opción para futuras sesiones, haga clic en ``Save Options`` (Guardar opciones) en el menú ``Options`` (Opciones). * Añada una línea a su archivo init, modificando la variable ``default-frame-alist`` para especificar el parámetro de fuente (ver:ref:`22.11`), de esta manera: :: (add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-10")) Esto hace que la fuente sea la predeterminada en todos los marcos gráficos creados después de reiniciar Emacs con ese archivo init. * Añade una configuración de recursos X ``emacs.font`` a su archivo de recursos X, así: :: emacs.font: DejaVu Sans Mono-12 Debe reiniciar X, o usar el comando ``xrdb``, para que el archivo de recursos X surta efecto. Consulte :ref:`D.1`. No entrecomille los nombres de las fuentes en los archivos de recursos X. * Si está ejecutando Emacs en el escritorio GNOME o Haiku, puede decirle a Emacs que ajuste la fuente por defecto del marco junto con los cambios en la fuente por defecto del sistema, estableciendo la variable ``font-use-system-font`` a ``t`` (por defecto es ``nil``). Para que esto funcione, Emacs debe haber sido compilado con soporte para Gsettings (o el antiguo Gconf). (Para ser específicos, los nombres de configuración Gsettings usados son ``org.gnome.desktop.interface monospace-font-name`` y ``org.gnome.desktop.interface font-name``). * Usar la opción de línea de comandos ``-fn`` (o ``--font``). Consulte :ref:`C.6`. Para comprobar qué fuente está usando actualmente, el comando ``C-u C-x =`` puede ser útil. Describe el carácter en el punto, y nombra la fuente en la que está representado. Hay cuatro formas diferentes de expresar el nombre de una fuente. La primera es usar un *patrón Fontconfig*. Los patrones Fontconfig tienen la siguiente forma: :: fontname[-fontsize][:name1=values1][:name2=values2]... En este formato, cualquiera de los elementos entre paréntesis puede omitirse. Aquí, *fontname* es el nombre de la familia de la fuente, como ``Monospace`` o ``DejaVu Sans Mono``; *fontsize* es el tamaño en puntos de la fuente (un punto de impresora es aproximadamente 1/72 de pulgada); y las entradas ``name=values`` especifican ajustes como la inclinación y el peso de la fuente. Cada valor puede ser un único valor o una lista de valores separados por comas. Además, algunos valores de propiedad sólo son válidos con un tipo de nombre de propiedad, en cuyo caso puede omitirse la parte ``name=``. Esta es una lista de las propiedades más comunes de las fuentes: ``slant`` (*inclinada*) Una de las opciones ``italic`` (cursiva), ``oblique`` (oblicua) o ``roman``. ``weight`` (peso) Una de las siguientes opciones: ``light`` (liviana), ``medium`` (peso medio), ``demibold`` (casi como fuente negrita), ``bold`` (negrita) o ``black``. ``style`` (estilo) Algunas fuentes definen estilos especiales que son una combinación de inclinación y peso. Por ejemplo, ``Dejavu Sans`` define el estilo ``book``, que anula las propiedades de inclinación y peso. ``width`` (ancho) Uno de los siguientes: ``condensed`` (condensado), ``normal`` o ``expanded`` (ampliado). ``spacing`` (espaciado) Una de las siguientes opciones: ``monospace`` (monoespaciada), ``proportional`` (proporcional), ``dual-width`` (doble ancho) o ``charcell``. Estos son algunos ejemplos de patrones de Fontconfig: :: Monospace Monospace-12 Monospace-12:bold DejaVu Sans Mono:bold:italic Monospace-12:weight=bold:slant=italic Para una descripción más detallada de los patrones de Fontconfig, consulte el manual de Fontconfig, que se distribuye con Fontconfig y está disponible en línea en https://fontconfig.org/fontconfig-user.html. En MS-Windows, sólo el subconjunto de la forma *fontname*\[*-fontsize*\] está soportado para todas las fuentes; el patrón Fontconfig completo podría no funcionar para todas ellas. La segunda forma de especificar una fuente es usar un patrón de fuente GTK. Estos tienen la sintaxis :: fontname [properties] [fontsize] nombrefuente [propiedades] [tamañofuente] donde *fontname* es el nombre de la familia, *properties* es una lista de valores de propiedades separados por espacios, y *fontsize* es el tamaño de letra. Las propiedades que puede especificar para los patrones de fuentes GTK son las siguientes: * Propiedades de inclinación: ``Italic`` u ``Oblique``. Si se omite, se aplica la inclinación por defecto (roman). * Propiedades de peso: ``Bold``, ``Book``, ``Light``, ``Medium``, ``Semi-bold`` o ``Medium``. Si se omite, se utilizará el peso ``Medium``. * Propiedades de anchura: ``Semi-condensed`` o ``Condensed``. Si se omite, se usa un ancho por defecto. He aquí algunos ejemplos de patrones de fuentes GTK: :: Monospace 12 Monospace Bold Italic 12 En MS-Windows, sólo se admite el subconjunto *fontname*. La tercera forma de especificar una fuente es usar un *XLFD* (*X Logical Font Description*, Descripción de fuente lógica para X). Este es el método tradicional para especificar fuentes en X, y también es compatible con MS-Windows. Cada XLFD consta de catorce palabras o números, separados por guiones, de la siguiente manera: :: misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 Un carácter comodín (``*``) en un XLFD coincide con cualquier secuencia de caracteres (incluida ninguna), y ``?`` coincide con cualquier carácter único. Sin embargo, la coincidencia depende de la implementación y puede ser imprecisa cuando los comodines coinciden con guiones en un nombre largo. Para obtener resultados fiables, introduzca los 14 guiones y use comodines sólo dentro de un campo. Las mayúsculas y minúsculas son insignificantes en un XLFD. La sintaxis de un XLFD es la siguiente: :: -maker-family-weight-slant-widthtype-style… …-pixels-height-horiz-vert-spacing-width-registry-encoding Las entradas tienen los siguientes significados: ``maker`` (fabricante) El nombre del fabricante de la fuente. ``family`` (familia) El nombre de la familia de fuentes (por ejemplo, 'courier'). ``weight`` (peso) Peso de la fuente, normalmente ``bold`` (negrita), ``medium`` (media) o ``medium`` (mediana). Algunos nombres de fuentes admiten otros valores. ``slant`` (inclinación) La inclinación de la fuente, normalmente ``r`` (*roman*, romana), ``i`` (*italic*, cursiva), ``o`` (*oblique*, oblicua), ``ri`` (*reversic italic*, cursiva inversa) u ``ot`` (*other*, otra). Algunos nombres de fuentes admiten otros valores. ``widthtype`` (tipo de ancho) La anchura de la fuente, normalmente ``normal``, ``condensed`` (condensada), ``semicondensed`` (semicondensada) o ``extended`` (extendida). Algunos nombres de fuentes admiten otros valores. ``style`` (estilo) Un nombre de estilo adicional opcional. Normalmente está vacío; la mayoría de los XLFD tienen dos guiones seguidos en este punto. El nombre del estilo también puede especificar un nombre de idioma ISO-639 de dos letras, como ``ja`` o ``ko``; algunas fuentes que admiten los alfabetos CJK lo tienen escrito en la parte del nombre del estilo. ``pixels`` Altura de la fuente, en píxeles. ``height`` (altura) La altura de la fuente en la pantalla, medida en décimas de punto de impresora. Es el tamaño en puntos de la fuente, multiplicado por diez. Para una resolución vertical dada, la *altura* y los *píxeles* son proporcionales; por lo tanto, es habitual especificar sólo uno de ellos y usar ``*`` para el otro. ``horiz`` La resolución horizontal, en píxeles por pulgada, de la pantalla a la que está destinada la fuente. ``vert`` La resolución vertical, en píxeles por pulgada, de la pantalla para la que está pensada la fuente. Normalmente, la resolución de las fuentes en su sistema es el valor correcto para su pantalla; por lo tanto, normalmente se especifica ``*`` para esto y *horiz*. ``spacing`` (espaciado) Es ``m`` (*monospace*, monoespaciada), ``p`` (*proportional*, proporcional) o ``c`` (*character cell*, celda de caracter). ``width`` (ancho) El ancho medio de los caracteres, en píxeles, multiplicado por diez. | ``registry`` (registro) | ``encoding`` (codificación) El juego de caracteres X font que representa la fuente. (Los juegos de caracteres de X font no son los mismos que los de Emacs, pero son similares). Puedes usar el programa ``xfontsel`` para comprobar qué opciones tienes. Normalmente debería usar ``iso8859`` para el registro y ``1`` para la codificación. El cuarto y último método para especificar una fuente es usar un apodo de fuente. Algunas fuentes tienen apodos más cortos, que puede usar en lugar de una especificación de fuente normal. Por ejemplo, ``6x13`` equivale a :: -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 Esta forma no está soportada en MS-Windows. En X, Emacs reconoce dos tipos de fuentes: fuentes *del lado del cliente*, que son proporcionadas por las bibliotecas Xft y Fontconfig, y fuentes *del lado del servidor*, que son proporcionadas por el servidor X mismo. La mayoría de las fuentes del lado del cliente soportan características avanzadas como antialiasing y subpixel hinting, mientras que las fuentes del lado del servidor no. Fontconfig y los patrones GTK sólo coinciden con las fuentes del lado del cliente. Probablemente querrá usar una fuente predeterminada de ancho fijo, es decir, una fuente en la que todos los caracteres tengan el mismo ancho. Para las fuentes Xft y Fontconfig, puede usar el comando ``fc-list`` para listar las fuentes de ancho fijo disponibles, de esta forma: :: fc-list :spacing=mono fc-list :spacing=charcell Para las fuentes X del lado del servidor, puede usar el programa ``xlsfonts`` para listar las fuentes de ancho fijo disponibles, de la siguiente manera: :: xlsfonts -fn '*x*' | grep -E '^[0-9]+x[0-9]+' xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*' xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*' Cualquier fuente con ``m`` o ``c`` en el campo de *espaciado* del XLFD es una fuente de ancho fijo. Para ver el aspecto de un determinado tipo de letra, use el comando ``xfd``. Por ejemplo: :: xfd -fn 6x13 muestra la fuente completa ``6x13``. Mientras ejecuta Emacs, también puede establecer el tipo de letra de un tipo de texto específico (véase :ref:`15.8`), o de un marco en particular (véase :ref:`22.11`). .. _22.9: 22.9 Marcos con Speedbar (con *barra de control* o *barra rápida*) ------------------------------------------------------------------ La barra *speedbar* es un marco especial para navegar u operar cómodamente en otro marco. Cuando existe, siempre está asociada a un marco específico, llamado *marco adjunto*; todas las operaciones de Speedbar actúan sobre ese marco. Escriba :kbd:`Alt`-:kbd:`x` ``speedbar`` (``M-x speedbar``) para crear una speedbar (una *barra de control*) y asociarla al marco actual. Para desactivarla, teclee :kbd:`Alt`-:kbd:`x` ``speedbar (``M-x speedbar``) de nuevo, o selecciónela y teclee :kbd:`q` (``q``). (También puede borrar el marco de speedbar como cualquier otro marco de Emacs.) Si desea asociar speedbar a un marco diferente, desactívelo y llame a ``M-x speedbar`` desde ese marco. La barra de control puede funcionar en varios modos. Su modo por defecto es el de *Visualización de Archivos*, que muestra los archivos del directorio actual de la ventana seleccionada del marco adjunto, un archivo por línea. Al hacer clic en un archivo que no sea un directorio, se visita ese archivo en la ventana seleccionada del marco adjunto, y al hacer clic en un directorio se muestra ese directorio en la barra de control (véase :ref:`22.3`). Cada línea tiene también un recuadro, ``[+]`` o ``<+>``, en el que puede hacer clic para ampliar el contenido de ese elemento. Al desplegar un directorio, su contenido se muestra en la barra de direcciones, debajo de la línea del directorio. Al desplegar un archivo normal, se muestra una lista de las etiquetas de ese archivo en la barra de velocidad; puede hacer clic en el nombre de una etiqueta para saltar a esa etiqueta en la ventana seleccionada del marco adjunto. Cuando se expande un archivo o directorio, el signo ``[+]`` cambia a ``[-]``; puedes hacer clic en esa casilla para contraer el elemento, ocultando su contenido. También se puede navegar por la barra rápida usando el teclado. Escribir :kbd:`RETURN` (``RET``) mientras el punto está en una línea de dicha barra equivale a hacer clic en el elemento de la línea actual, y :kbd:`SPACE` (``SPC``) expande o contrae el elemento. ``U`` muestra el directorio padre del directorio actual. Para copiar, borrar o renombrar el fichero en la línea actual, teclee :kbd:`C` (``C``), :kbd:`D` (``D``) y :kbd:`R` (``R``) respectivamente. Para crear un nuevo directorio, escriba :kbd:`M` (``M``). Otro modo de uso general de Speedbar es el modo de visualización de búferes; en este modo, speedbar muestra una lista de los búferes de Emacs. Para cambiar a este modo, teclee :kbd:`b` (``b``) en la barra de control. Para volver al modo de visualización de archivos, teclee :kbd:`f` (``f``). También puede cambiar el modo de visualización pulsando con ``ratón-3`` en cualquier lugar de la ventana de Speedbar (o con ``ratón-1`` en la línea de modo) y seleccionando ``Displays`` en el menú emergente. Algunos modos principales, incluyendo el modo Rmail, Info y GUD, tienen formas específicas de poner elementos útiles en speedbar para que los seleccione. Por ejemplo, en el modo Rmail, la barra muestra una lista de archivos Rmail y permite mover el mensaje actual a otro archivo Rmail haciendo clic en su casilla ````. Para más detalles sobre cómo usar y programar speedbar, consulte **Speedbar** en el Manual de Speedbar. .. _22.10: 22.10. Múltiples Pantallas -------------------------- Un único Emacs puede comunicarse con más de una pantalla X. Inicialmente, Emacs usa sólo una pantalla-la especificada con la variable de entorno ``DISPLAY`` o con la opción ``--display`` (ver :ref:`C.2`). Para conectar con otra pantalla, use el comando ``make-frame-on-display``: | :kbd:`Alt`-:kbd:`x` ``make-frame-on-display`` :kbd:`RETURN` *pantalla* :kbd:`RETURN` | ``M-x make-frame-on-display RET`` *display* ``RET`` Crea un nuevo marco en la *pantalla* de visualización. Un único servidor X puede manejar más de una pantalla. Cuando se abren marcos en dos pantallas pertenecientes a un servidor, Emacs sabe que comparten un único teclado, y trata todos los comandos que llegan desde estas pantallas como un único flujo de entrada. Cuando se abren marcos en diferentes servidores X, Emacs hace un flujo de entrada separado para cada servidor. Cada servidor también tiene su propio marco seleccionado. Los comandos que introduzca con un servidor X en particular se aplican al marco seleccionado de ese servidor. En pantallas multimonitor es posible usar el comando ``make-frame-on-monitor``: | :kbd:`Alt`-:kbd:`x` ``make-frame-on-monitor`` :kbd:`RETURN` *monitor* :kbd:`RETURN` | ``M-x make-frame-on-monitor RET`` *monitor* ``RET`` Crea un nuevo marco en el monitor cuya área de pantalla forme parte de la presentación actual. .. _22.11: 22.11 Parámetros de Marco ------------------------- Puede controlar la apariencia y el comportamiento por defecto de todos los marcos especificando una lista por defecto de *parámetros de marco* en la variable ``default-frame-alist``. Su valor debe ser una lista de entradas, cada una especificando un nombre de parámetro y un valor para ese parámetro. Estas entradas tienen efecto cada vez que Emacs crea un nuevo marco, incluyendo el marco inicial. Por ejemplo, puede añadir las siguientes líneas a su archivo init (vea :ref:`50.4`) para establecer la anchura del marco por defecto a 90 columnas de caracteres, la altura del marco por defecto a 40 filas de caracteres, y la fuente por defecto a ``Monospace-10``: :: (add-to-list 'default-frame-alist '(width . 90)) (add-to-list 'default-frame-alist '(height . 40)) (add-to-list 'default-frame-alist '(font . "Monospace-10")) Para una lista de parámetros de marco y sus efectos, vea **Parámetros de Marco** en el Manual de Referencia de Emacs Lisp. También puede especificar una lista de parámetros de marco que se apliquen sólo al marco inicial, personalizando la variable ``initial-frame-alist``. Si Emacs está compilado para usar un juego de herramientas X, los parámetros de marco que especifican colores y fuentes no afectan a los menús y a la barra de menús, ya que éstos son dibujados por el juego de herramientas y no directamente por Emacs. La apariencia y el comportamiento de los marcos también pueden personalizarse a través de los recursos X (ver :ref:`D.1`); estos anulan los parámetros del marco inicial especificado en su archivo de inicio. Tenga en cuenta que si está usando la biblioteca de escritorio para guardar y restaurar sus sesiones, los marcos a restaurar se registran en el archivo de escritorio, junto con sus parámetros. Cuando estos marcos son restaurados, los parámetros grabados tienen prioridad sobre los parámetros de marco especificados por ``default-frame-alist`` y ``initial-frame-alist`` en su archivo init. Vea :ref:`45`, para saber cómo evitarlo. .. _22.12: 22.12. Barras de Desplazamiento ------------------------------- En las pantallas gráficas, hay una barra de *desplazamiento vertical* en el lateral de cada ventana de Emacs. Pulsando con ``ratón-1`` sobre los botones arriba y abajo de la barra de desplazamiento se desplaza la ventana una línea cada vez (pero algunos paquetes de herramientas (toolkits) permiten personalizar las barras de desplazamiento para que no tengan esos botones). Al hacer clic con ``ratón-1`` por encima o por debajo de la caja interior de la barra de desplazamiento, la ventana se desplaza casi toda la altura de la ventana, como ``M-v`` y ``C-v`` respectivamente (véase :ref:`8.2`). (Esto también puede comportarse de forma diferente con algunos kits de herramientas). Arrastrando la caja interior se desplaza continuamente. Si Emacs está compilado en el Sistema X Window sin soporte para toolkit X, la barra de desplazamiento se comporta de forma diferente. Pulsando con ``ratón-1`` en cualquier lugar de la barra de desplazamiento se desplaza hacia delante como ``C-v``, mientras que con ``ratón-3`` se desplaza hacia atrás como ``M-v``. Haciendo clic con ``ratón-2`` en la barra de desplazamiento puede arrastrar la caja interior hacia arriba y hacia abajo. Para usar la barra de desplazamiento vertical, escriba :kbd:`Alt`-:kbd:`x` ``scroll-bar-mode`` (``M-x scroll-bar-mode``). Este comando se aplica a todos los marcos, incluidos los que aún no se han creado. Para usar la barra de desplazamiento sólo en el marco seleccionado, use el comando ``M-x toggle-scroll-bar``. Para controlar el uso de las barra de desplazamiento vertical al inicio, personalice la variable ``scroll-bar-mode`` (véase :ref:`50`). Su valor debe ser o bien ``right`` (poner la barra de desplazamiento a la derecha de las ventanas), ``left`` (ponerla a la izquierda), o ``nil`` (deshabilitar la barra de desplazamiento vertical). Por defecto, Emacs pone la barra de desplazamiento a la derecha si fue compilado con soporte GTK+ en el Sistema X Window, y en MS-Windows o macOS; Emacs pone la barra de desplazamiento a la izquierda si fue compilado en el Sistema X Window sin soporte GTK+ (siguiendo la antigua convención para aplicaciones X). También puede usar el recurso X ``verticalScrollBars`` para activar o desactivar las barras de desplazamiento (ver :ref:`D.1`). Para controlar el ancho de la barra de desplazamiento, cambia el parámetro de marco ``scroll-bar-width`` (ver **Parámetros de Marco** en el Manual de Referencia de Emacs Lisp). Si usa Emacs en X (con GTK+ o Motif), puede personalizar la variable ``scroll-bar-adjust-thumb-portion`` para controlar el *sobredesplazamiento* de la barra de desplazamiento, es decir, arrastrar el pulgar hacia abajo incluso cuando el final del búfer es visible. Si su valor es no nulo, la barra de desplazamiento puede arrastrarse hacia abajo aunque se muestre el final del búfer; si es nulo, el pulgar estará en la parte inferior cuando se muestre el final del búfer. No se puede avanzar o retroceder cuando todo el búfer está visible. El aspecto visual de las barras de desplazamiento se controla mediante la cara ``scroll-bar`` (barra de desplazamiento). (Algunos toolkits, como GTK+ y MS-Windows, ignoran esta cara; el aspecto de la barra de desplazamiento sólo puede personalizarse en todo el sistema; para GTK+, véanse :ref:`D.5`). En los marcos gráficos, la barra de desplazamiento vertical sirve implícitamente para separar visualmente las ventanas contiguas. Cuando las barras de desplazamiento vertical están desactivadas, Emacs separa por defecto dichas ventanas con la ayuda de un *borde vertical* de un píxel de ancho. Ese borde ocupa la primera columna de píxeles de la ventana de la derecha y, por tanto, puede sobredibujar los píxeles más a la izquierda de cualquier pictograma que se muestre allí. Si estos píxeles transmiten información importante, puede hacerlos visibles activando los divisores de ventana, véase **Divisores de Ventanas** en El Manual de Referencia de Lisp. Para replicar el aspecto de los bordes verticales, establezca el parámetro ``right-divider-width`` de los marcos a uno y haga que la cara del divisor de ventana herede de la función ``vertical-border``, **Divisores de Ventanas** en El Manual de Referencia de Lisp. En pantallas gráficas con soporte para toolkits (caja de herramientas), Emacs también puede proporcionar una barra de *desplazamiento horizontal* en la parte inferior de cada ventana. Pulsando con ``ratón-1`` sobre los botones izquierdo y derecho de la barra de desplazamiento, la ventana se desplaza horizontalmente una columna cada vez. (Tenga en cuenta que algunos kits de herramientas permiten personalizaciones de la barra de desplazamiento que hacen que estos botones no se muestren). Al hacer clic con ``ratón-1`` a la izquierda o a la derecha del cuadro interior de la barra de desplazamiento, la ventana se desplaza cuatro columnas. Si se arrastra el cuadro interior, la ventana se desplaza de forma continua. Tenga en cuenta que este desplazamiento horizontal puede hacer desaparecer la posición del punto de la ventana a la izquierda o a la derecha. Si escribe un carácter para insertar texto o mueve el punto con un comando del teclado, normalmente volverá a verlo. Para usar las barras de desplazamiento horizontal, escriba :kbd:`Alt`-:kbd:`x` ``horizontal-scroll-bar-mode`` (``M-x horizontal-scroll-bar-mode``). Este comando se aplica a todos los marcos, incluidos los que aún no se han creado. Para usar las barras de desplazamiento horizontal sólo en el marco seleccionado, use el comando ``M-x toggle-horizontal-scroll-bar``. Para controlar el uso de barra de desplazamiento horizontal al inicio, personalice la variable ``horizontal-scroll-bar-mode``. También puede usar el recurso X ``horizontalScrollBars`` para activar o desactivar las barras de desplazamiento horizontal (ver :ref:`D.1`). Para controlar la altura de la barra de desplazamiento, cambia el parámetro de marco ``scroll-bar-height`` (ver **Parámetros de Marco** en el Manual de Referencia de Emacs Lisp). .. _22.13: 22.13 Separadores de Ventanas ----------------------------- En pantallas gráficas, puede usar *separadores de ventanas* para separarlas visualmente. Los divisores de ventanas son barras que pueden arrastrarse con el ratón, lo que permite cambiar fácilmente el tamaño de las ventanas adyacentes. Para cambiar la visualización de estos separadores, use el comando ``M-x window-divider-mode``. Para personalizar dónde deben aparecer los divisores, use la opción ``window-divider-default-places``. Su valor debe ser ``bottom-only`` (para mostrar los divisores sólo en la parte inferior de las ventanas), ``right-only`` (para mostrar los divisores sólo en la parte derecha de las ventanas) o ``t`` (para mostrarlos en la parte inferior y en la derecha). Para ajustar el ancho de los separadores de ventana mostrados por este modo, personalice las opciones ``window-divider-default-bottom-width`` y ``window-divider-default-right-width``. Cuando las barra de desplazamiento vertical está deshabilitadas, los separadores también pueden ser útiles para hacer visible la primera columna de píxeles de una ventana, que de otro modo quedaría cubierta por el borde vertical usado para separar las ventanas de lado a lado (ver :ref:`22.12` Barras de Desplazamiento). Para más detalles sobre los divisores de ventanas, véase **Divisores de Ventanas** en el Manual de Referencia de Emacs Lisp. .. _22.14: 22.14 Arrastrar y Soltar ------------------------ En la mayoría de los entornos gráficos de escritorio, Emacs tiene soporte básico para operaciones de *arrastrar y soltar*. Por ejemplo, soltar texto sobre un marco Emacs es insertar el texto donde se suelta. Soltar un archivo en un marco de Emacs visita ese archivo. Como caso especial, soltar el archivo en un búfer Dired mueve o copia el archivo (según las convenciones de la aplicación de la que procede) en el directorio mostrado en ese búfer. Al soltar un archivo, normalmente se visita en la ventana en la que se suelta. Si prefiere visitar el archivo en una nueva ventana en estos casos, personalice la variable ``dnd-open-file-other-window``. Actualmente se soportan los protocolos de arrastrar y soltar XDND y Motif, y el antiguo protocolo KDE 1.x. Puede ser difícil desplazar una ventana o determinar dónde se insertará el texto soltado mientras se arrastra dicho texto a una ventana de Emacs. Establecer la opción ``dnd-indicate-insertion-point`` a un valor no nulo hace que el punto se mueva a la ubicación en la que se insertará cualquier texto soltado cuando el ratón se mueva en una ventana durante el arrastre, y establecer ``dnd-scroll-margin`` a un valor entero hace que una ventana se desplace si el ratón se mueve dentro de ese número de líneas de la parte superior o inferior de la ventana durante el arrastre. Emacs también puede opcionalmente arrastrar la región con el ratón a otra porción de este u otro búfer. Para activar eso, personalice la variable ``mouse-drag-and-drop-region`` a un valor no nulo. Normalmente, el texto se mueve, es decir, se corta y se pega, cuando el destino es el mismo búfer que el origen; si se suelta la región en otro búfer, se copia el texto en su lugar. Si el valor de esta variable nombra una tecla modificadora, como ``shift``, ``control`` o ``alt``, al pulsar esa tecla modificadora al soltar el texto se copiará en lugar de cortarse, aunque se suelte en el mismo búfer del que procedía el texto. Para cortar el texto incluso cuando los búferes de origen y destino difieren, establezca la opción ``mouse-drag-and-drop-region-cut-when-buffers-differ`` en un valor no nulo. Por defecto, en una pantalla gráfica el texto seleccionado se muestra en un tooltip (sugerencia) y el punto se mueve junto con el cursor del ratón durante el arrastre. Para suprimir este comportamiento, establezca las opciones ``mouse-drag-and-drop-region-show-tooltip`` y/o ``mouse-drag-and-drop-region-show-cursor`` en ``nil``. Para arrastrar texto desde Emacs a otros programas, establezca la opción ``mouse-drag-and-drop-region-cross-program`` a un valor no nulo. En el sistema de ventanas X, algunos programas pueden soltar archivos en Emacs, esperando que este los guarde. Normalmente, el Editor preguntará por un nombre de archivo bajo el cual el archivo será guardado, y luego abrirá el archivo, pero ese comportamiento puede ser cambiado cambiando la variable ``x-dnd-direct-save-function``. Ver **Arrastrar y Soltar** en el Manual de Referencia de Emacs Lisp. .. _22.15: 22.15 Barras de Menús --------------------- Puede usar la barra de menús con ``M-x menu-bar-mode``. Sin argumento, este comando activa el modo Menu Bar (Barra de Menú), un modo global menor. Con un argumento, el comando activa el modo Barra de Menú si el argumento es positivo, lo desactiva si el argumento no es positivo. Para controlar el uso de dicha barra al inicio, personalice la variable ``menu-bar-mode``. Los Usuarios expertos a menudo desactivan la barra de menú, especialmente en terminales de texto, donde esto hace que haya una línea adicional disponible para texto. Si la barra de menús está desactivada, puede abrir un menú con su contenido con :kbd:`Ctrl`-``ratón-3`` (``C-ratón-3``) en una pantalla que admita menús emergentes. O puede activar el modo menú contextual y personalizar la variable ``context-menu-functions`` para que aparezca un menú contextual con ``mouse-3``. Ver :ref:`22.4`. Consulte :ref:`1.4` La Barra de Menús, para obtener información sobre cómo invocar comandos con la barra de menús. Consulte :ref:`ApendiceD`, para saber cómo personalizar el aspecto visual de los menús de la barra de menús. .. _22.16: 22.16. Barras de Herramientas ----------------------------- En las pantallas gráficas, Emacs pone una *barra de herramientas* en la parte superior de cada marco, justo debajo de la barra de menú. Es una fila de iconos sobre los que puede pulsar con el ratón para invocar varios comandos. La barra de herramientas global (por defecto) contiene comandos generales. Algunos modos principales definen sus propias barras de herramientas; siempre que haya un búfer con un modo principal de este tipo, la barra de herramientas del modo sustituye a la barra de herramientas global. Para usar la barra de herramientas, escriba ``M-x tool-bar-mode``. Este comando se aplica a todos los marcos, incluidos los que aún no se han creado. Para controlar el uso de las barras de herramientas al inicio, personalice la variable ``tool-bar-mode``. Cuando Emacs se compila con soporte GTK+, cada elemento de la barra de herramientas puede consistir en una imagen, una etiqueta de texto o ambas. Por defecto, Emacs sigue la configuración del estilo de la barra de herramientas del escritorio Gnome; si no se define ninguno, muestra los elementos de la barra de herramientas sólo como imágenes. Para imponer un estilo específico de barra de herramientas, personalice la variable ``tool-bar-style``. También puede controlar la colocación de la barra de herramientas para la barra de herramientas GTK+ con el parámetro de marco ``tool-bar-position``. Ver **Parámetros de Marco** en el Manual de Referencia de Emacs Lisp. Las construcciones NS consideran la barra de herramientas como una decoración de la ventana, y por lo tanto no la muestran cuando una ventana no está decorada. : Ver **Parámetros de Marco** en el Manual de Referencia de Emacs Lisp. En macOS la barra de herramientas se oculta cuando el marco se pone a pantalla completa, pero puede mostrarse moviendo el puntero del ratón a la parte superior de la pantalla. .. _22.17: 22.17 Barras de Pestañas ------------------------ En pantallas gráficas y en terminales de texto, Emacs puede mostrar opcionalmente una *Barra de Pestañas* en la parte superior de cada marco, justo debajo de la barra de menús (ver :ref:`22.15`) y encima o debajo de la barra de herramientas (ver :ref:`22.16`) dependiendo de la variable ``tab-bar-position``. La barra de pestañas es una fila de *pestañas*, botones que puede pulsar para cambiar entre configuraciones de ventana. Cada pestaña de la barra de pestañas representa una configuración de ventana persistente con nombre de su marco, es decir, cómo se divide ese marco en ventanas y qué búfer se muestra en cada ventana. El nombre de la pestaña se compone de la lista de nombres de los búferes que se muestran en las ventanas de esa configuración de ventana. Al hacer clic en la pestaña, se pasa a la configuración de ventanas registrada por la pestaña; se trata de una configuración de ventanas y búferes que se usaba anteriormente en el marco cuando esa pestaña era la pestaña actual. Si está usando la librería del escritorio para guardar y restaurar sus sesiones (vea :ref:`45`), las pestañas de la Barra de Pestañas se graban en el archivo del escritorio, junto con sus configuraciones de ventana asociadas, y estarán disponibles después de restaurar la sesión. Tenga en cuenta que la Barra de Pestañas es diferente de la Línea de Pestañas (vea :ref:`21.8`). Mientras que las pestañas de la línea de pestañas de la parte superior de cada ventana se usan para cambiar entre los búferes de la ventana, las pestañas de la barra de pestañas de la parte superior de cada marco se usan para cambiar entre configuraciones de ventanas que contienen varias ventanas que muestran uno o más búferes. Para usar las barras de pestañas, escriba :kbd:`Alt`-:kbd:`x` ``tab-mar-mode`` (``M-x tab-bar-mode``). Este comando se aplica a todos los marcos, incluidos los marcos aún por crear. Para controlar el uso de las barras de pestañas al inicio, personalice la variable ``tab-bar-mode`` y guarde su personalización. La variable ``tab-bar-show`` controla si el modo de barra de pestañas se activa automáticamente. Si el valor es ``t``, el modo barra de pestañas se activa cuando se usan los comandos que crean nuevas de ellas. El valor ``1`` oculta la barra de pestañas cuando sólo tiene una pestaña, y la vuelve a mostrar cuando se crean más pestañas. De forma más general, un valor que sea un entero no negativo hace que la barra de pestañas se muestre sólo si el número de pestañas es mayor que ese entero. El valor ``nil`` siempre mantiene la Barra de Pestañas oculta; en este caso es posible cambiar entre configuraciones de ventanas con nombre sin mostrar la Barra de Pestañas usando ``M-x tab-next``, ``M-x tab-switcher``, y otros comandos que permiten completar los nombres de las pestañas. También es posible crear y cerrar pestañas sin la barra de pestañas usando los comandos ``M-x tab-new``, ``M-x tab-close``, etc. Tenga en cuenta que un valor numérico de ``tab-bar-show`` puede hacer que la Barra de Pestañas se muestre en algunos marcos, pero no en otros, dependiendo del número de pestañas creadas en cada marco. Para usar la barra de pestañas sólo en el marco seleccionado, escriba :kbd:`Alt`-:kbd:`x` ``toggle-frame-tab-bar`` (``M-x toggle-frame-tab-bar``). Este comando permite activar la visualización de la barra de pestañas en algunos marcos y desactivarla en otros, independientemente de los valores de ``tab-bar-mode`` y ``tab-bar-show``. La tecla de prefijo :kbd:`Ctrl`-:kbd:`x` :kbd:`t` (``C-x t``) es análoga a :kbd:`Ctrl`-:kbd:`x` :kbd:`5` (``C-x 5``). Mientras que cada comando ``C-x 5`` abre un búfer en un marco diferente (véase :ref:`22.6`), los comandos ``C-x t`` usan una pestaña diferente con una configuración de ventana diferente en el marco seleccionado. Los distintos comandos ``C-x t`` difieren en cómo encuentran o crean el búfer a seleccionar. Los siguientes comandos se pueden usar para seleccionar un búfer en una nueva pestaña: :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:Kbd:`2` (``C-x t 2``) Añade una nueva pestaña (``tab-new``, pestaña-nueva). Puede controlar la elección del búfer mostrado en una nueva pestaña personalizando la variable ``tab-bar-new-tab-choice``. Puede controlar los nombres dados por defecto a las nuevas pestañas personalizando la variable ``tab-bar-tab-name-function``. :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`b` *nombre-búfer* :kbd:`RETURN` (``C-x t b`` *nombre-búfer* ``RET``) Selecciona el nombre del búfer en otra pestaña. Esto ejecuta ``switch-to-buffer-other-tab``. :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`f` *nombre-archivo* :kbd:`RETURN` (``C-x t f`` *nombre-archivo* ``RET``) Visita el archivo *nombre-archivo* (ver :ref:`19.2`) y selecciona su búfer en otra pestaña. Esto ejecuta ``find-file-other-tab`` (buscar-archivo-otra-pestaña). :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`d` *directorio* :kbd:`RETURN` (``C-x t d`` *directorio* ``RET``) Edita el *directorio* especificado (véase :ref:`31`) en otra pestaña. Esto ejecuta ``dired-other-tab``. :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`t` (``C-x t t``) Este es un comando prefijo (``other-tab-prefix``) que afecta al siguiente comando invocado inmediatamente después de este comando prefijo. Solicita que el búfer mostrado por el siguiente comando se muestre en otra pestaña. Por defecto, una nueva pestaña comienza con el búfer que estaba activo antes de llamar al comando que añade una nueva pestaña. Para iniciar una nueva pestaña con otros búferes, personalice la variable ``tab-bar-new-tab-choice``. La variable ``tab-bar-new-tab-to define`` dónde colocar una nueva pestaña. Por defecto, una nueva pestaña se añade a la derecha de la pestaña actual. Se pueden usar los siguientes comandos para eliminar pestañas: :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`0` (``C-x t 0``) Cierra la pestaña seleccionada (``tab-close``). Esto no tiene efecto si sólo hay una pestaña, a menos que la variable ``tab-bar-close-last-tab-choice`` se personalice con un valor no predeterminado. :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`1` (``C-x t 1``) Cierra todas las pestañas, excepto la seleccionada, en el marco seleccionado. La variable ``tab-bar-close-tab-select`` define qué pestaña seleccionar después de cerrar la pestaña actual. Por defecto, selecciona una pestaña usada recientemente. El comando ``tab-undo`` restaura la última pestaña cerrada. Los siguientes comandos se pueden usar para cambiar entre pestañas: | :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`o` (``C-x t o``) | :kbd:`Ctrl`-:kbd:`TAB` (``C-TAB``) Pasa a la pestaña siguiente (``tab-next``). Si repite este comando, pasará por todas las pestañas del marco seleccionado. Con un argumento numérico positivo *n*, pasa a la enésima pestaña siguiente; con un argumento negativo *-n*, vuelve a la enésima pestaña anterior. :kbd:`Shift`-:kbd:`Ctrl`-:kbd:`TAB` (``S-C-TAB``) Pasa a la pestaña anterior (``tab-previous``). Con un argumento numérico positivo *n*, pasa a la enésima pestaña anterior; con un argumento negativo *-n*, pasa a la enésima pestaña siguiente. :kbd:`Ctrl`-:kbd:`x` :kbd:`t` :kbd:`RETURN` *nombre-pestaña* :kbd:`RETURN` (``C-x t RET`` *nombre-pestaña* ``RET``) Cambia a la pestaña por su nombre (``tab-switch``), con finalización en todos los nombres de pestaña. El valor predeterminado y el "historial futuro" de nombres de pestañas se ordenan por antigüedad, por lo que puedes usar ``M-n`` (``next-history-element``) para obtener el nombre de la última pestaña visitada, la penúltima, etc. modifier-tab-number Cambia a la pestaña por su número ``tab-number`` (``tab-select``). Después de personalizar la variable ``tab-bar-select-tab-modifiers`` para especificar una o más teclas modificadoras, puede seleccionar una pestaña por su número ordinal usando uno de los modificadores especificados en combinación con el número de pestaña a seleccionar. El número 9 puede usarse para seleccionar la última pestaña. Puede seleccionar cualquier modificador soportado por Emacs, vea :ref:`50.3.7`. Para mostrar el número de pestaña junto al nombre de la pestaña, puede personalizar otra variable ``tab-bar-tab-hints``. Esto le ayudará a decidir qué tecla numérica pulsar para seleccionar la pestaña por su número. modifier-``9`` Pasa a la última pestaña (``tab-last``). La combinación de teclas es la tecla modificadora definida por ``tab-bar-select-tab-modifiers`` y la tecla :kbd:`9` (``9``). Con un argumento numérico *n*, cambiar a la enésima última pestaña. modifier-``0`` Cambia a la pestaña reciente (``tab-recent``). La combinación de teclas es la tecla modificadora definida por ``tab-bar-select-tab-modifiers`` y la tecla :kbd:`0` (``0``, cero). Con un argumento numérico *n*, cambia a la enésima pestaña reciente. Se pueden usar los siguientes comandos para operar sobre las pestañas: :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`r` (``C-x t r`` *nombre-pestaña* ``RET``) Cambia el nombre de la pestaña actual a *nombre-pestaña* (``tab-rename``). :kbd:`Ctrl`-:kbd:`x` :kbd:`t`:kbd:`m` (``C-x t m``) Mueve la pestaña actual una posición a la derecha (``tab-move``). Con un argumento numérico positivo *n*, se mueve esa cantidad de posiciones a la derecha; con un argumento negativo *-n*, se mueve *n* posiciones a la izquierda. Puede usar el ratón para operar sobre las pestañas. Al hacer clic con ``ratón-2`` se cierra la pestaña. Al hacer clic con ``ratón-3`` se abre el menú contextual con los elementos que actúan sobre la pestaña seleccionada. Arrastrando la pestaña con ``ratón-1`` se mueve a otra posición en la barra de pestañas. Si se desplaza con la rueda del ratón, se pasa a la pestaña siguiente o anterior. Si se mantiene pulsada la tecla :kbd:`Shift` (``MAYÚS``) durante el desplazamiento, la pestaña se desplaza hacia la izquierda o la derecha. Puede activar el modo de historial de la barra de pestañas para recordar las configuraciones de ventana usadas en cada pestaña y restaurarlas más tarde. :kbd:`Alt`-:kbd:`x` ``tab-bar-history-back`` (``M-x tab-bar-history-back``) Restaura una configuración de ventana anterior usada en la pestaña actual. Esto navega hacia atrás en el historial de configuraciones de ventanas. :kbd:`Alt`-:kbd:`x` ``tab-bar-history-forward`` (``M-x tab-bar-history-forward``) Cancela la restauración de la configuración de ventana anterior. Esto avanza en el historial de configuraciones de ventanas. Es posible personalizar los elementos mostrados en la barra de pestañas mediante la opción de Usuario ``tab-bar-format``. .. _22.18: 22.18 Uso de Cuadros de Diálogo ------------------------------- Un cuadro de diálogo es un tipo especial de menú para hacerle una pregunta de sí o no o alguna otra pregunta especial. Muchos comandos de Emacs usan una caja de diálogo para hacer una pregunta de este tipo, si usó el ratón para invocar el comando que le llevó a la pregunta. Para deshabilitar el uso de cuadros de diálogo, cambia la variable ``use-dialog-box`` a ``nil``. En ese caso, Emacs siempre realiza preguntas del tipo yes-or-not (sí-o-no) usando el área de eco y la entrada del teclado. Esta variable también controla si usar ventanas de selección de archivos (pero éstas no están soportadas en todas las plataformas). Una ventana de selección de archivos es un tipo especial de cuadro de diálogo para pedir nombres de archivo. Puede personalizar la variable use-file-dialog para suprimir el uso de ventanas de selección de archivos, aunque siga queriendo otros tipos de cuadros de diálogo. Esta variable no tiene efecto si ha suprimido todos los cuadros de diálogo con la variable ``use-dialog-box``. Cuando Emacs se compila con soporte GTK+, usa el cuadro de diálogo selector de archivos GTK+. Emacs añade un botón adicional a este diálogo, que puede usar para activar o desactivar la visualización de archivos ocultos (archivos que empiezan por un punto) en ese diálogo. Si desea que este botón esté activado por defecto, cambie la variable ``x-gtk-show-hidden-files`` a ``t``. Además, Emacs añade texto de ayuda al diálogo selector de archivos GTK+; para desactivar este texto de ayuda, cambie la variable ``x-gtk-file-dialog-help-text`` a ``nil``. .. _22.19: 22.19 Sugerencias sobre Herramientas (Tooltips) ----------------------------------------------- Los *tooltips* son pequeños marcos especiales que muestran información de texto en la posición actual del ratón. Se activan cuando hay una pausa en el movimiento del ratón sobre algún fragmento significativo de texto en una ventana, o la línea de modo, o alguna otra parte del marco de Emacs como un botón de la barra de herramientas o un elemento de menú. Puede alternar el uso de tooltips con el comando ``M-x tooltip-mode``. Cuando el modo Tooltip está desactivado, el texto de ayuda se muestra en el área de eco en su lugar. Para controlar el uso de información sobre herramientas al inicio, personalice la variable ``tooltip-mode`` siguientes variables proporcionan opciones de personalización para la visualización de información sobre herramientas: ``tooltip-delay`` Esta variable especifica cuánto tiempo debe esperar Emacs antes de mostrar el primer tooltip. El valor está en segundos. ``tooltip-short-delay`` Esta variable especifica cuánto tiempo debe esperar Emacs antes de mostrar los tooltips subsiguientes sobre diferentes elementos, habiendo mostrado ya el primer tooltip. El valor está en segundos. ``tooltip-hide-delay`` El número de segundos transcurridos desde que se muestra un tooltip para ocultarlo, si el ratón no se mueve. | ``tooltip-x-offset`` | ``tooltip-y-offset`` Los desplazamientos X e Y, en píxeles, de la esquina superior izquierda de la información sobre herramientas desde la posición del puntero del ratón. Tenga en cuenta que se ignoran si ``tooltip-frame-parameters`` se personalizó para incluir, respectivamente, los parámetros izquierdo y superior. Los valores de los desplazamientos deben elegirse de modo que la información sobre herramientas no cubra el punto activo del puntero del ratón, o podría interferir con el clic del mismo. ``tooltip-frame-parameters`` Los parámetros de marco usados para mostrar información sobre herramientas. Ver **Parámetros de Marco** en el Manual de Referencia de Emacs Lisp, y también **Tooltips** en el Manual de Referencia de Emacs Lisp. Para opciones adicionales de personalización para mostrar tooltips, usae ``M-x customize-group RET tooltip RET``. Si Emacs está construido con el toolkit GTK+, Nextstep windowing, o Haiku windowing, muestra la información sobre herramientas a través del toolkit, usando la apariencia por defecto de la información sobre herramientas del toolkit. [8]_ Para desactivar esto, cambia la variable use-system-tooltips a nil. Si hace esto, o si Emacs está construido sin el soporte de ventanas apropiado, la mayoría de los atributos del texto de la tooltip están especificados por la cara de la tooltip, y por los recursos X (vea Opciones y recursos X). Los tooltips GUD son tooltips especiales que muestran los valores de las variables cuando se depura un programa con GUD. Ver Operación del Depurador. .. [8] Los colores de primer plano y fondo de los tooltips creados en Nextstep también pueden personalizarse configurando los parámetros de marco de ``foreground`` (primer plano) y ``background`` (fondo) que forman parte de ``tooltip-frame-parameters``. 22.20 Evitar el Puntero del Ratón --------------------------------- En terminales gráficos, el puntero del ratón puede oscurecer el texto en el marco de Emacs. Emacs proporciona dos métodos para evitar este problema. En primer lugar, Emacs oculta el puntero del ratón cada vez que se escribe un carácter autoinsertado, si el puntero se encuentra dentro de un marco Emacs; moviendo el puntero del ratón se hace visible de nuevo. Para desactivar esta característica, establece la variable ``make-pointer-invisible`` a ``nil``. Ver :ref:`15.24`. En segundo lugar, puede usar el modo Mouse Avoidance, un modo menor, para mantener el puntero del ratón alejado del punto. Para usar este modo, personalice la variable ``mouse-avoidance-mode``. Puede establecer esto a varios valores para mover el ratón de varias maneras: ``banish`` Mueve el puntero a una esquina del marco al pulsar cualquier tecla. Puede personalizar la variable ``mouse-avoidance-banish-position`` para especificar a dónde va el puntero cuando es desplazado. ``exile`` Desplaza el puntero sólo si el cursor se acerca demasiado, y permite que vuelva una vez que el cursor se haya apartado. ``jump`` Si el cursor se acerca demasiado al puntero, lo desplazará una distancia y dirección aleatorias. ``animate`` Como jump, pero muestra los pasos a lo largo del camino para la ilusión de movimiento. ``cat-and-mouse`` Lo mismo que animate. ``proteus`` Como animate, pero cambia también la forma del puntero del ratón. También puede usar el comando ``M-x mouse-avoidance-mode`` para activar el modo. Siempre que el modo Mouse Avoidance mueve el ratón, también levanta el marco. .. _22.21: 22.21 Terminales sin Ventana ---------------------------- En un terminal de texto, Emacs sólo puede mostrar un marco Emacs a la vez. Sin embargo, aún puede crear múltiples marcos Emacs, y cambiar entre ellos. Cambiar de marco en estos terminales es muy parecido a cambiar entre diferentes configuraciones de ventana. Puede usar ``C-x 5 2`` para crear un nuevo marco y cambiar a él; use ``C-x 5 o`` para recorrer los marcos existentes; use ``C-x 5 0`` para borrar el marco actual. Cada marco tiene un número para distinguirlo. Si su terminal sólo puede mostrar un marco a la vez, el número n del marco seleccionado aparece cerca del principio de la línea de modo, en la forma ``Fn``. ``Fn`` es, de hecho, el nombre inicial del marco. Si lo desea, puede dar nombres más significativos a los marcos, y puede seleccionar un marco por su nombre. Use el comando ``M-x set-frame-name RET`` *nombre* ``RET`` para especificar un nuevo nombre para el marco seleccionado, y use ``M-x select-frame-by-name RET`` *nombre* ``RET`` para seleccionar un marco según su nombre. El nombre que especifique aparecerá en la línea de modo cuando se seleccione el marco. .. _22.22: 22.22 Uso del Ratón en Terminales de Texto ------------------------------------------ Algunos terminales de texto soportan clics de ratón en la ventana del terminal. En un emulador de terminal compatible con ``xterm``, puede usar ``M-x xterm-mouse-mode`` para dar a Emacs control sobre usos simples del ratón - básicamente, sólo se soportan clics simples no modificados. Las nuevas versiones de ``xterm`` también soportan el seguimiento del ratón. La funcionalidad normal del ratón xterm para este tipo de clics sigue estando disponible manteniendo pulsada la tecla :kbd:`SHIFT` al pulsar el botón del ratón. El modo Ratón de xterm es un modo menor global (ver :ref:`24.2`). Repitiendo el comando se desactiva de nuevo el modo. En la consola en GNU/Linux, puede usar ``M-x gpm-mouse-mode`` para habilitar el soporte de ratón. Debe tener el servidor gpm instalado y funcionando en su sistema para que esto funcione. Tenga en cuenta que cuando este modo está activado, no puede usar el ratón para transferir texto entre Emacs y otros programas que usen GPM. Esto se debe a limitaciones en GPM y el kernel de Linux. Ver Uso del ratón en MS-DOS, para información sobre el soporte del ratón en MS-DOS.