2017-02-08 4 views
1

コマンドプロンプトからEmacsのGUIモードに切り替えたとき、厄介なメニュー/ツール/スクロールバーを取り除いたので、GUIバージョンで動作する色が滑らかになります。EmacsのGUIテキストのUI要素(ウィジェット)に切り替える方法

問題は、通常のボタンがテキスト(uiウィジェット)に挿入されているのを見て、私はそれらのテキストバージョンを持っていたいと思います。私はEmacs GUIを "emacs -nwを実行するためのより良いcmd"として使いたいと思っています。私は主なコンピュータ上でLinuxに切り替えることに失敗しましたが(他の人はLinuxを実行しています)、この時点では常にデュアルブートする気がしません。

TL; DR:グラフィカルUIウィジェット(ボタン、チェックボックス) - >テキストバージョン(emacsのに-nwように)

+0

あなたが言うフレームの上部にあるツールバー以外のボタンは、すでに削除されています。あなたは、 'M-x customize'やバッファ内のテキストを単純に編集する以外のことについて話していますか? – lawlist

+0

たとえば、テーマを切り替えると、「Search」「Revert ...」「Apply」などのボタンが実際のボタンとして表示されます。「Search」「 – FatalError

答えて

0

表示されている「ボタン」は、実際には、フォントトリックを使用して文字を上げているように見えるようにするテキストです。それらを完全に取り除くのはちょっと難しいかもしれませんが、あなたはそれらのほとんどを取り除くことができます。

Emacsは(いくつかの場所で)継承メソッドを使用して 'faces'を定義します。これは、外観を修正するために親の面を見つける必要があることがあることを意味します。これらの面には、下線やボックスなどの属性があります。例えば、私のシステム上の「ボタン」の顔の定義があります。ここ

Hide Button face: [sample] 
    State : THEMED. 
    Default face used for buttons. 
    [ ] Font Family: -- 
    [ ] Font Foundry: -- 
    [ ] Width: -- 
    [ ] Height: -- 
    [ ] Weight: -- 
    [ ] Slant: -- 
    [X] Underline: Value Menu On: 
     Color: Value Menu Foreground Color 
     Style: Value Menu Line 
    [ ] Overline: -- 
    [ ] Strike-through: -- 
    [ ] Box around text: -- 
    [ ] Inverse-video: -- 
    [ ] Foreground: -- 
    [ ] Distant Foreground: -- 
    [ ] Background: -- 
    [ ] Stipple: -- 
    [ ] Inherit: -- 
    Hide Unused Attributes 

Hide Custom Button face: [sample] 
    State : THEMED. 
    Face for custom buffer buttons if ‘custom-raised-buttons’ is non-nil. 
    [ ] Font Family: -- 
    [ ] Font Foundry: -- 
    [ ] Width: -- 
    [ ] Height: -- 
    [ ] Weight: -- 
    [ ] Slant: -- 
    [ ] Underline: -- 
    [ ] Overline: -- 
    [ ] Strike-through: -- 
    [X] Box around text: Value Menu Box: 
     Width: 2 
     Color: Value Menu * 
     Style: Value Menu Raised 
    [ ] Inverse-video: -- 
    [X] Foreground: #93a1a1  Choose (sample) 
    [ ] Distant Foreground: -- 
    [X] Background: #073642  Choose (sample) 
    [ ] Stipple: -- 
    [ ] Inherit: -- 
    Hide Unused Attributes 

注これらの二つの面で使用される、下線やボックスの属性の定義です。

あなたの目があなたの目を滲ませないように属性を変更するだけです。 2つの方法がありますが(actaully therはもっとですが、2つは説明しやすいです)、これを行うことができます。

M-Xリスト-面表示

リスト面表示は 「faces.el」におけるインタラクティブコンパイルLisp関数です。

に結合しています。

(リスト顔表示&任意REGEXP)

リストのすべての面、それぞれに同一のサンプルテキストを使用。サンプルテキストは で、変数 'list-faces-sample-text'からの文字列です。

REGEXPがnil以外の場合、この 正規表現に一致する名前の顔のみをリストします。対話的に前置引数で呼び出された場合、 は 'read-regexp'を使って正規表現を要求します。

とMXカスタマイズ-顔を(ポイントはカスタマイズするか、あなたはそれの名前を知っている必要があります顔にする必要があります)

カスタマイズ面でのインタラクティブな自動ロードコンパイルLisp関数であります 'cus-edit.el'

に拘束されています。

(カスタマイズ面を&任意FACE OTHER-WINDOW)面名またはゼロであるべきである

カスタマイズFACE、。 FACEがnilの場合、 はすべての面をカスタマイズします。 FACEが実際にフェイスエイリアスである場合は、 の顔にエイリアスが付けられます。

OTHER-WINDOWがnil以外の場合、別のウィンドウで表示します。

対話的に、点が指定されたテキスト上にある場合は、 はカスタマイズ可能な場合はその顔をカスタマイズすることを提案します。

あなたの提案は、リストフェイスディスプレイを使用して、好きでない顔を識別し、それを許容可能なものに変更することです。これはそれらのほとんどを得るはずです。次に、emacsを使うときに好きではない別のボタンを見つけたら、その上にカーソルを置き、customize-faceを使って変更してください。

テーマを読み込むと顔の設定も変更できるので、一貫性のある動作を得るには、一連の作業を正しく行う必要があります。

+0

ああ、素晴らしい仕事!どうもありがとうございました! – FatalError

1

(setq custom-raised-buttons nil)を設定してみてください。これにより、カスタマイズバッファ内のボタンがフラットテキストのように見えるようになります。他の属性を変更するには、醜いと思われるものにカーソルを合わせてM-x customize-face RETを実行します。最後に、いくつかのテーマを試してみてください。 Melpaに数十があります(「-theme」を検索してください)。

+0

」(setq custom-raised-buttons nil)のようなテキストではありません。ボタンがまだボタンであるようにしましたが、ボタンのテキストは角括弧の中にあります。 – FatalError

+0

もっと見ると、 'custom-raised-buttons'は変数に関しては特別なものです。 'cus-edit.el'がロードされる前に設定します(または' M-x load-library RET cus-edit RET'でリロードします)。それでも新しいカスタマイズ・バッファーにのみ適用されます。値を使用するコードがあり、ファイルがロードされたときにのみ実行されます。 initファイルに変数を設定し、Emacsを再起動するだけで十分です。 – jpkotta

関連する問題