Як називається графічний трюк цього термінального вікна, який показує наголошені краї навколо виділеного тексту?


19

Я помітив кілька скріншотів вікон терміналу в Інтернеті, на яких видно тонкі виділені краї навколо смуг стану або виділених ліній. У наступному прикладі відзначте світло-сірий край навколо рядків 1, 5 та 389:

введіть тут опис зображення

У цьому прикладі зауважте жовтий край навколо рядка режиму Emacs (рядок стану):

введіть тут опис зображення

Як називається цей ефект, і чи можливо це за допомогою iTerm 2 в ОС X 10.10?

Оновлення

Провівши деякі дослідження та перекопавшись у коді теми інтерфейсу Emacs Customize , я знайшов код, який визначав краї. На мові Emacs це називається :box, і одним з його атрибутів є line-width. Ось приклад рядка поля, визначеного в темі:

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

Документацію :boxможна знайти в документації по обличчю атрибутів обличчя Emacs , хоча в ній не зазначається, як вона працює, або які термінали підтримуються.

Я почав думати, що це може бути особливістю GUI-версій Emacs (таких як Aquamacs , але я впевнений, що я бачив скріншоти того, що, схоже, є термінальними вікнами Ubuntu Unity з подібними яскравими підсвітками).


ці скріншоти - це emacs, що працюють у X, а не у терміналі.
Кейсі

Відповіді:


3

Ефект, який ви бачите, не є графічним трюком віконного терміналу, це gui emacs, запущений у X. Ви правильно ідентифікуєте налаштування для отримання emacs для малювання цього, але вони надаються лише тоді, коли emacs запускається в X.

Для ілюстрації, у моєму рядку режимів є тематичні:

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

і коли emacs запускається графічно (наприклад emacs), він відображається так:

введіть тут опис зображення

і коли emacs запускається в терміналі (наприклад emacs -nw), він відображається як:

введіть тут опис зображення

Ви можете бачити ефекти піксельної межі, які надають підвищеному вигляду, визначеному вікном, лише в режимі gui. У термінальному режимі це просто плоский ефект.

Аналогічно, опубліковані вами зображення є від gui emacs, і ефект не є властивістю будь-якого термінального емулятора, а також будь-який емулятор терміналу не бере участь у цій візуалізації.


1
Так, я також підозрював, що знімки екрана є з GUI-версії. Нещодавно я змінив свою відповідь, щоб включити списки доступних вистав символів, доступних для термінальних емуляторів. І вони не включали те, про що вимагала ОП.
Олексій Страгіс

Для мене це виглядає так, як ніби у вікні стилю "відпущена кнопка" розміщується лише лінія у верхньому краї, тоді як у знімках екрана (OP) лінія відображається з усіх боків рядка режиму. Я неправильно зрозумів питання?
ksoo

3

Те, як я розумію цю сторінку Вікіпедії (хоча дуже хотілося б, щоб я визнав себе неправильним у цьому конкретному питанні):

  • Підкреслення стилю існує, не обмежуючись курсором. Вони називають це код 4.
  • Стиль Framed існує, так як у 4-х межах навколо кожного символу вони називають його код 51.

Примітка. Це не дозволяє обрамляти рядок символів без меж між символом. як Lisaна першому скріншоті.

Отже, моя відповідь (станом на середину 2015 року) залишається:

(Поточний) Емулятори терміналів не можуть відображати необов'язково кольорові рамки навколо символів так, як вам потрібно.

Тут ви можете побачити, як виглядають застосовані ANSI-коди.

Такі програми, як gvim та xemacs, не засновані на термінальному емуляторі, не пов'язані з обмеженнями поточних емуляторів терміналів. Я думаю, скріншоти з додатків GUI.

Знову ж таки, я хотів би бути в цьому неправильним, оскільки я б із задоволенням включив таке форматування у свої власні налаштування dotfile.


1
зауважте, що xemacs - це вилка emacs (це не "emacs у X"), а звичайні emacs можуть працювати графічно у X.
casey
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.