Wie heißt dieser grafische Trick im Terminalfenster, bei dem hervorgehobene Texte mit Akzenten versehen sind?

19

Ich habe ein paar Screenshots von Terminalfenstern online gesehen, die dünne hervorgehobene Kanten um Statusleisten oder hervorgehobene Linien zeigen. Beachten Sie im folgenden Beispiel den hellgrauen Rand um die Linien 1, 5 und 389:

Bildbeschreibung hier eingeben

Beachten Sie in diesem Beispiel den gelben Rand um die Emacs-Moduszeile (Statusleiste):

Bildbeschreibung hier eingeben

Wie heißt dieser Effekt und ist er mit iTerm 2 unter OS X 10.10 möglich?

Aktualisieren

Nachdem ich einige Nachforschungen angestellt und mich mit dem Emacs Customize- Schnittstellenthemacode befasst hatte, fand ich einen Code, der die Kanten definierte. Im Emacs-Sprachgebrauch heißt es :boxund eines seiner Attribute ist line-width. Hier ist ein Beispiel für eine Rahmenlinie, die in einem Thema definiert wird:

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

Die Dokumentation für :boxbefindet sich in der Dokumentation zu den Gesichtsattributen des Emacs-Handbuchs. Es wird jedoch nicht erwähnt, wie es funktioniert oder welche Terminals unterstützt werden.

Ich begann zu glauben, dass dies eine Besonderheit von GUI-Versionen von Emacs (wie Aquamacs) sein könnte , aber ich bin mir ziemlich sicher, dass ich Screenshots von scheinbar Ubuntu Unity-Terminalfenstern mit ähnlichen Box-Highlights gesehen habe.

Steve HHH
quelle
Diese Screenshots sind Emacs, die in X ausgeführt werden und nicht in einem Terminal.
Casey

Antworten:

3

Der Effekt, den Sie sehen, ist kein grafischer Trick im Terminalfenster. Es handelt sich um GUI-Emacs, die in X ausgeführt werden. Sie identifizieren die Anpassung korrekt, um Emacs zum Zeichnen zu bewegen. Diese werden jedoch nur gerendert, wenn Emacs in X ausgeführt wird.

Zur Veranschaulichung habe ich meine Mode-Linie mit folgenden Themen versehen:

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

und wenn emacs grafisch ausgeführt wird (zB emacs) wird es wie folgt gerendert:

Bildbeschreibung hier eingeben

und wenn Emacs in einem Terminal ausgeführt wird (zB emacs -nw), wird es wie folgt gerendert:

Bildbeschreibung hier eingeben

Sie können die Pixelrahmeneffekte, die das durch das Feld definierte erhabene Erscheinungsbild ergeben, nur im GUI-Modus anzeigen. Im Terminalmodus ist es nur ein flacher Effekt.

In ähnlicher Weise stammen die von Ihnen hochgeladenen Bilder von GUI-Emacs, und der Effekt ist weder eine Eigenschaft eines Terminal-Emulators noch ein Terminal-Emulator, der an diesem Rendern beteiligt ist.

casey
quelle
1
Ja, ich habe auch vermutet, dass die Screenshots aus der GUI-Version stammen. Ich habe kürzlich meine Antwort geändert, um Listen der verfügbaren Zeichenwiedergaben für Terminal-Emulatoren einzuschließen. Und diese enthielten nicht das, was das OP verlangte.
Alex Stragies
Für mich sieht es so aus, als würde die Box im "Release-Button" -Stil nur eine Linie am oberen Rand platzieren, während die Linie in den Screenshots des OPs auf allen Seiten der Moduslinie erscheint. Habe ich die Frage falsch verstanden?
ksoo
3

So verstehe ich diese Wikipedia-Seite (obwohl ich mich in diesem speziellen Punkt sehr geirrt haben möchte):

  • Stil Unterstreichung ist vorhanden, nicht auf den Cursor beschränkt. Sie nennen es Code 4.
  • Style Framed existiert, da es in 4 Rahmen um jedes Zeichen den Code 51 gibt.

Hinweis: Dadurch kann keine Zeichenfolge ohne Begrenzung zwischen den Zeichen gerahmt werden. wie Lisaim ersten Screenshot.

Meine Antwort (Stand Mitte 2015) bleibt also:

(Aktuelle) Terminal-Emulatoren können keine optionalen farbigen Rahmen pro Seite um Zeichen in der von Ihnen gewünschten Weise anzeigen.

Hier können Sie sehen, wie die ANSI-Codes angewendet aussehen.

GUI-Anwendungen wie gvim und xemacs, die nicht auf einem Terminalemulator basieren, sind nicht an die Einschränkungen der aktuellen Terminalemulatoren gebunden. Ich denke, die Screenshots stammen von GUI-Anwendungen.

Auch hier möchte ich mich als falsch erweisen, da ich solche Formatierungen gerne in meine eigenen Dotfile-Anpassungen einbauen würde.

Alex Stragies
quelle
1
Beachten Sie, dass xemacs eine Ansammlung von Emacs ist (es ist nicht "Emacs in X") und reguläre Emacs in X grafisch ausgeführt werden können.
casey