2012-02-15 11 views
8

この質問に基づいて:How to set emacsclient background as Emacs background?フレームまたは端末でemacsをチェックする方法は?

私はバックグラウンドがフレームにのみ必要で、ターミナルではなく、コンソールでは必要ありません。ここで

は、私は、コンソール

(when (display-graphic-p) 
    (tool-bar-mode -1) 
    (scroll-bar-mode t) 
    (require 'nyan-mode) 
    (nyan-mode) 
    (nyan-start-animation) 
    (mouse-wheel-mode t) 
    (setq default-frame-alist 
      '((background-color . "#101416") 
      (foreground-color . "#f6f3e8")) 
     ) 
) 

の修正を追加しようとしているしかし、それを私が(偶数フレーム用)のemacsclientの背景を取得しない方法です。おそらく、チェックはemacsclientで実行されていないでしょうか?

基本的に、端末とコンソールではなくフレームでemacsclientにバックグラウンドを追加したいと思います。

+0

あなたのコードはどこで評価されていますか? .emacsは、Emacsが起動するときに一度だけ評価され、emacsclientが接続されるときは評価されません。 – phils

+1

さて、あなたの.emacsファイルは '(nCdy-mode)'関数を直接評価するので、 '(when(display-graphic-p)...)'節の本文は(Emacsが起動したときに '(display-graphic-p)'が真である場合に限り)、大部分の*を返します。 (*)他の場所で(nCdyモード)を呼び出しているのではなく、あなたがそうであると言っていない限り。 – phils

答えて

5
(defun my-frame-config (frame) 
    "Custom behaviours for new frames." 
    (with-selected-frame frame 
    (when (display-graphic-p) 
     (set-background-color "#101416") 
     (set-foreground-color "#f6f3e8")))) 
;; run now 
(my-frame-config (selected-frame)) 
;; and later 
(add-hook 'after-make-frame-functions 'my-frame-config) 
+0

はい、フックは私がここに必要なものです、ありがとうございます。 – Cynede

2

たぶん簡単な解決策は* -frame-alistは手を触れないことです、またセット・フレーム - *、代わりのMxにカスタマイズ-顔をRETデフォルトRET、その後、中クリック、「国家」ボタンを「すべての種類のディスプレイ用」を選択すると、ディスプレイごとに顔のアピアランスを異なるように設定できます。 UIのこの部分はあまり使われていませんが、表示されますが、あなたはそうします: INSを真ん中でクリックして2番目の設定を挿入し、 "Display"をミドルクリックして "nil" "タイプ"の左側のトグルで、次に "TTY"の左側にあるトグル:これは最初の設定をttyフレームにのみ適用し、もう1つはおそらく "表示:すべて"と表示します残りのケース(すなわち、非ttyフレーム)に適用されます。

+0

ああ、素敵! FWIW私は左クリックがそれらのウィジェットの中クリックと同じであることを知っています(どちらも 'widget-button-click'にバインドされています)?この特定の質問については、フォアグラウンドとバックグラウンドの色オプションにアクセスするには、「属性のサポート」と「すべての属性の表示」をクリックする必要があります。 – phils

+0

実際、新しい設定を空白のままにしておき、代わりにデフォルト設定でそれらの色を変更すると思います。私はUbuntuのデフォルトターミナルを使って逆(TTY設定のフォアグラウンド/バックグラウンドの色を変更)を試みましたが、それを有効にすることはできませんでした( 'inverse video'オプションは機能しましたが)。 YMMV? – phils

関連する問題