¿Cuál es el nombre de este truco gráfico de la ventana de terminal, que muestra bordes acentuados alrededor del texto resaltado?

19

He notado algunas capturas de pantalla de las ventanas de terminal en línea que muestran bordes delgados resaltados alrededor de barras de estado o líneas resaltadas. En el siguiente ejemplo, observe el borde gris claro alrededor de las líneas 1, 5 y 389:

ingrese la descripción de la imagen aquí

En este ejemplo, observe el borde amarillo alrededor de la línea del modo Emacs (barra de estado):

ingrese la descripción de la imagen aquí

¿Cuál es el nombre de este efecto, y es posible con iTerm 2 bajo OS X 10.10?

Actualizar

Después de investigar un poco y profundizar en el código de tema de la interfaz Emacs Customize , encontré un código que definía los bordes. En el lenguaje de Emacs, se llama :box, y uno de sus atributos es line-width. Aquí hay un ejemplo de una línea de cuadro que se define en un tema:

'(modeline ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed))))

La documentación para :boxse puede encontrar en la documentación de atributos faciales del manual de Emacs , aunque no menciona cómo funciona o qué terminales son compatibles.

Empecé a pensar que esta podría ser una característica especial de las versiones GUI de Emacs (como Aquamacs , pero estoy bastante seguro de que he visto capturas de pantalla de lo que parecen ser ventanas de terminal Ubuntu Unity con recuadros destacados similares.

Steve HHH
fuente
esas capturas de pantalla son emacs que se ejecutan en X, no en una terminal.
casey

Respuestas:

3

El efecto que está viendo no es un truco gráfico de la ventana de terminal, es gui emacs ejecutándose en X. Identifica correctamente la personalización para que emacs dibuje eso, pero estos solo se representan cuando emacs se ejecuta en X.

Para ilustrar, tengo mi línea de modo temática con:

 '(mode-line ((t (:background "gray10" :foreground "green" :box (:line-width -1 :style released-button)))))

y cuando emacs se ejecuta gráficamente (por ejemplo emacs) se representa como:

ingrese la descripción de la imagen aquí

y cuando emacs se ejecuta en un terminal (p emacs -nw. ej. ) se representa como:

ingrese la descripción de la imagen aquí

Puede ver los efectos de borde de píxel que le dan al aspecto elevado definido por el cuadro solo renderizado en el modo gui. En modo terminal es solo un efecto plano.

Del mismo modo, las imágenes que ha publicado son de gui emacs y el efecto no es propiedad de ningún emulador de terminal, ni ningún emulador de terminal está involucrado en esa representación.

casey
fuente
1
Sí, también sospeché que las capturas de pantalla eran de la versión GUI. Recientemente modifiqué mi respuesta para incluir listas de representaciones de personajes disponibles para Emuladores de Terminal. Y eso no incluía lo que solicitó el OP.
Alex Stragies
Para mí, parece que el cuadro de estilo "botón liberado" solo pone una línea en el borde superior, mientras que en las capturas de pantalla del OP, la línea aparece en todos los lados de la línea de modo. ¿He entendido mal la pregunta?
ksoo
3

La forma en que entiendo esta página de Wikipedia (aunque me gustaría mucho que me demuestren lo contrario en este tema específico):

  • El subrayado de estilo existe, no se limita al cursor. Lo llaman código 4.
  • Style Framed existe, ya que en 4 bordes alrededor de cada personaje, lo llaman código 51.

Nota: Eso no permite enmarcar una cadena de caracteres sin bordes entre los caracteres. como Lisaen la primera captura de pantalla.

Entonces, mi respuesta (a partir de mediados de 2015) se mantiene:

(Actual) Los emuladores de terminal no pueden mostrar bordes coloreados opcionales por lado alrededor de los caracteres de la manera que desee.

Aquí puede ver cómo se ven los códigos ANSI aplicados.

Las aplicaciones Gui como gvim y xemacs, no basadas en un emulador de terminal, no están sujetas a las limitaciones de los emuladores de terminal actuales. Creo que las capturas de pantalla son de aplicaciones GUI.

Una vez más, me gustaría demostrar que estoy equivocado en esto, ya que con mucho gusto incorporaría ese formato en mis propias personalizaciones de archivos de puntos.

Alex Stragies
fuente
1
tenga en cuenta que xemacs es una bifurcación de emacs (no es "emacs en X") y los emacs normales pueden ejecutarse gráficamente en X.
casey