2012-02-15 13 views
8

Na podstawie tego pytania: How to set emacsclient background as Emacs background?jak sprawdzić, czy emacs w ramce lub w terminalu?

Potrzebuję tła tylko dla ramek, nie dla terminala, a nie konsoli.

Oto jak próbuję dodać poprawkę dla konsoli

(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")) 
     ) 
) 

Ale z tego nie rozumiem tło na emacsclient (nawet dla ramek). Może czek nie działa nawet w emacsclient?

Zasadniczo nie chcę dodawać tła do emacsclienta w terminalu i konsoli, ale w ramkach.

+0

Gdzie jest oceniany twój kod? Pamiętaj, że .emacs jest oceniany tylko raz, gdy zaczyna się Emacs, a nie kiedy łączy się emacsclient. – phils

+1

Okay, więc twój plik .emacs ocenia bezpośrednio twoją funkcję '(nCdy-mode)', co oznacza, że ​​treść twojego '(gdy (display-graphic-p) ...)' będzie oceniana raz na większość *, a następnie tylko wtedy, gdy '(display-graphic-p)' jest prawdziwe w momencie uruchamiania Emacs. (*) Chyba że dzwonisz (nCdy-mode) gdzie indziej, ale nie mówisz, że jesteś. – phils

Odpowiedz

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

Tak, hak jest tym, czego potrzebuję tutaj, dziękuję. – Cynede

2

Może prostszym rozwiązaniem jest nie dotykać * klatek-alist, ani set-Ciele *, lecz aby dostosować Mx-face domyślnej RET RET, a następnie środkowego kliknięcia na przycisk „państwa” i wybierz "Dla wszystkich rodzajów wyświetlaczy", w którym będziesz mógł ustawić wygląd twarzy inaczej dla różnych wyświetlaczy. Ta część interfejsu użytkownika nie jest używana w bardzo dużym stopniu i pokazuje, ale możesz: kliknąć środkowe INS, aby wstawić drugi zestaw ustawień, następnie kliknąć środkowo "Display" i wybrać "zero", a następnie kliknąć po przełączeniu na lewo od "Typu", a następnie po przełączeniu po lewej stronie "TTY": powoduje to, że pierwszy zestaw ustawień ma zastosowanie tylko do ramek tty, podczas gdy drugi zestaw (co prawdopodobnie nadal mówi "Wyświetl: wszystko") dotyczy pozostałych przypadków (tj. ramek innych niż tty).

+0

Ah, miło! FWIW Uważam, że kliknięcie lewym przyciskiem jest takie samo, jak kliknięcie środkowym przyciskiem myszy dla tych widżetów (oba powiązane z "kliknięciem przycisku widgetu")? W przypadku tego konkretnego pytania należy kliknąć "Obsługuje atrybuty" i "Pokaż wszystkie atrybuty", aby uzyskać dostęp do opcji kolorów pierwszego planu i tła. – phils

+0

Właściwie, domyślam się, że zostawiasz nowe ustawienia puste i zamiast tego zmieniasz te kolory w ustawieniach domyślnych. Próbowałem odwrotności (zmieniając kolory pierwszego planu/tła dla ustawień TTY) z domyślnym terminalem Ubuntu i nie mogłem go zastosować (chociaż działała opcja "film odwrotny"). YMMV? – phils

Powiązane problemy