強調表示されたテキストの周囲にアクセントのあるエッジを表示する、このターミナルウィンドウのグラフィカルトリックの名前は何ですか?


19

オンラインのターミナルウィンドウのスクリーンショットに、ステータスバーまたは強調表示された線の周りに細い強調表示されたエッジが表示されていることに気付きました。次の例では、行1、5、および389の周りの明るい灰色のエッジに注意してください。

ここに画像の説明を入力してください

この例では、Emacsモードライン(ステータスバー)の周りの黄色の縁に注目してください。

ここに画像の説明を入力してください

この効果の名前は何ですか?OS X 10.10のiTerm 2では可能ですか?

更新

いくつかの調査を行い、Emacs Customizeインターフェースのテーマコードを掘り下げた後、エッジを定義するコードを見つけました。Emacsの用語では、と呼ばれ:box、その属性の1つはline-widthです。次に、テーマで定義されているボックス線の例を示します。

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

のドキュメント:boxは、Emacsマニュアルの顔属性ドキュメントにありますが、どのように機能するか、どの端末がサポートされているかについては触れていません。

これは、EmacsのGUIバージョン(Aquamacsなど)の特別な機能であると考え始めましたが、同様のボックスのハイライトが表示されたUbuntu Unityターミナルウィンドウのスクリーンショットを見たことは間違いありません。


これらのスクリーンショットは、ターミナルではなくXで実行されるemacです。
ケーシー

回答:


3

表示される効果は、ターミナルウィンドウのグラフィカルなトリックではなく、Xで実行されるgui emacです。カスタマイズを正しく識別してemacに描画させることができますが、これらは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が求めたものを含んでいませんでした。
アレックスストラギーズ

私には、「リリースされたボタン」スタイルのボックスは上端に線を引くだけのように見えますが、OPのスクリーンショットでは、モード線のすべての辺に線が表示されます。質問を誤解していませんか?
ksoo

3

このウィキペディアページを理解する方法(この特定の問題について間違っていることが証明されたいと思いますが):

  • カーソルに限らず、スタイルの下線が存在します。彼らはそれをコード4と呼びます。
  • Style Framedは、各文字の周囲に4つの境界線があるため、コード51と呼ばれています。

注:それは、文字の境界のない文字列のフレーミングを有効にしません。Lisa最初のスクリーンショットのように。

したがって、私の答え(2015年半ばの時点)は変わりません。

(現在)ターミナルエミュレーターでは、文字の周囲にオプションの色付きの境界線を希望どおりに表示できません。

ここでは、ANSIコードがどのように適用されているかを確認できます。

gvimやxemacsなどのGuiアプリケーションは、ターミナルエミュレーターに基づいていないため、現在のターミナルエミュレーターの制限に拘束されません。スクリーンショットはGUIアプリケーションからのものだと思います。

繰り返しますが、このようなフォーマットを自分のドットファイルのカスタマイズに喜んで組み込むため、これについて間違っていることが証明されます。


1
xemacsはemacsのフォーク(「emacs in X」ではない)であり、通常のemacsはXでグラフィカルに実行できることに注意してください。
casey
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.