8

この質問は、前の質問の続きです: emacs コンソール モードがシェルの色を継承する方法

Ubuntu 12.10 と Gnome Shell 3.6.2 で Emacs を実行しています。http://www.emacswiki.org/emacs/TransparentEmacsに従って、次を使用して Emacs X ウィンドウにアルファ透明度を設定できます。

(set-frame-parameter (selected-frame) 'alpha '(85 50))
(add-to-list 'default-frame-alist '(alpha 85 50))

残念ながら、これにより、テキストを含む前景を含む、私のemacsウィンドウ内のすべての「アイテム」の透明度が設定されます。その結果、Emacs の内容が読みにくくなります。私が探しているのは、背景にアルファ値のみを設定する方法です。このようにして、Emacs ウィンドウのコンテンツをはっきりと見ることができ、emacs の背後にあるウィンドウから情報を読み取ることができます (非常に優れた gnome 端末でうまくやっています)。

4

2 に答える 2

1

これは少し前に尋ねられたようですが、マヌエルがどこで完全な解決策を得たのかわかりません。私は同じ問題を抱えていましたが、これが私が思いついたものです。

シェルの透過性を設定してから を実行するemacs -nw -qと、Emacs のデフォルトの動作はシェルの設定に従うようです。あなたがそうしない場合は、競合する設定をどこかに設定している可能性があります。デフォルトの背景を色に設定するテーマを使用している可能性がありますか? その場合は、その設定を変更する必要があります。

組み込みのテーマ (adwaita、tango、wombat など) のいずれかを使用している場合は、アルファ フレーム パラメータをオーバーライドするデフォルトの背景色が設定されています。1 つの解決策は、そのテーマ ファイルを見つけて、このデフォルトを設定する行をコメント アウトすることです。私のテーマは /usr/share/emacs/25.3/etc/themes にあります。そこにない場合は、スクラッチ バッファーに切り替えて、data-directory 変数の値を評価します。そのディレクトリには、themes サブディレクトリが必要です。テーマ ファイルを変更するには、管理者権限が必要な場合があります。

Jeff が以前に提供したコードは機能するはずです。セクション28.4: ELisp マニュアルのフレーム パラメータを参照してください。また、Emacs マニュアルの51.1.7: Custom Themesも参照してください。Jeff のコードは、フレームの透明度を Emacs だけに設定します。これは、シェル アプリケーションの透過性とは異なるものにしたい場合に適しています。私が言ったように、シェルの動作に合わせたいだけなら、それがデフォルトです。

于 2018-04-14T13:07:34.323 に答える
0

私はうまくいきました - 前景は.Xresourcesで設定した色で表示されます。おそらく、次のようなものを試すことができます。

emacs*foreground: gold
emacs*background: black

~/.Xresourcesに入り、コマンドを使用できます

$ xrdb ~/.Xresources

(~/.emacs で) 指定した 2 行で emacs を呼び出す前に:

(set-frame-parameter (selected-frame) 'alpha '(85 50))
(add-to-list 'default-frame-alist '(alpha 85 50))

~/.emacs にこれらの 2 行を含めるように上記を更新しました。これは、透過性が機能するように設定するためです。さらに、emacs ウィンドウがフォーカスを失うと、フォアグラウンドも透明になることに気付きました。おそらくそれはあなたが意味したことですか?

于 2013-06-18T05:22:09.790 に答える