Zauważyłem kilka zrzutów ekranów okien terminali online, które pokazują cienkie podświetlone krawędzie wokół pasków stanu lub podświetlonych linii. W poniższym przykładzie zwróć uwagę na jasnoszare obramowanie wokół linii 1, 5 i 389:
W tym przykładzie zwróć uwagę na żółte obrzeże wokół linii trybu Emacsa (pasek stanu):
Jak nazywa się ten efekt i czy jest to możliwe w przypadku iTerm 2 w systemie OS X 10.10?
Aktualizacja
Po przeprowadzeniu badań i przejrzeniu kodu motywu interfejsu Emacs Customize znalazłem kod, który definiuje krawędzie. W mowie Emacsa nazywa się to :box
, a jednym z jego atrybutów jest line-width
. Oto przykład definicji linii pola w kompozycji:
'(modeline ((t (:background "Gray10" :foreground "SteelBlue" :box (:line-width 1 :style none) :width condensed))))
Dokumentację :box
można znaleźć w dokumentacji atrybutów twarzy Emacsa w podręczniku Emacsa , chociaż nie wspomina ona o tym, jak to działa ani jakie terminale są obsługiwane.
Zacząłem myśleć, że może to być specjalna funkcja wersji GUI Emacsa (takich jak Aquamacs , ale jestem całkiem pewien, że widziałem zrzuty ekranu z okna terminalu Ubuntu Unity z podobnymi podświetleniami okien.
Odpowiedzi:
Efekt, który widzisz, nie jest graficzną sztuczką okna terminala, to gui emacs działający w X. Prawidłowo identyfikujesz dostosowanie, aby emacs je narysował, ale są one renderowane tylko wtedy, gdy emacs jest uruchamiany w X.
Aby to zilustrować, mam tematyczne linie trybu:
a gdy emacs jest uruchamiany graficznie (np.
emacs
), jest renderowany w następujący sposób:a gdy emacs jest uruchamiany w terminalu (np.
emacs -nw
), jest renderowany jako:Widoczne są efekty obramowania pikseli, które nadają wyglądzie zdefiniowanemu przez ramkę renderowanie tylko w trybie GUI. W trybie terminalowym jest to po prostu efekt płaski.
Podobnie, opublikowane przez ciebie zdjęcia pochodzą z gui emacs i efekt nie jest własnością żadnego emulatora terminala, ani żaden emulator terminala jest zaangażowany w to renderowanie.
źródło
Sposób, w jaki rozumiem tę stronę w Wikipedii (choć bardzo chciałbym się wykazać, że się mylę w tej konkretnej sprawie):
Uwaga: Nie pozwala to na obramowanie ciągu znaków bez granic między znakiem. jak
Lisa
na pierwszym zrzucie ekranu.Tak więc moja odpowiedź (z połowy 2015 r.) Pozostaje:
(Bieżące) Emulatory terminali nie mogą wyświetlać opcjonalnie kolorowych ramek wokół znaków w pożądany sposób.
Tutaj możesz zobaczyć, jak wyglądają zastosowane Kody ANSI.
Aplikacje GUI, takie jak gvim i xemacs, nie oparte na emulatorze terminali, nie są ograniczone ograniczeniami obecnych emulatorów terminali. Myślę, że zrzuty ekranu pochodzą z aplikacji GUI.
Ponownie chciałbym się wykazać, że się mylę, ponieważ chętnie włączę takie formatowanie do moich własnych dostosowań plików dot.
źródło