2013-05-21 27 views
1

我在我的Ubuntu Linux運行筆記本電腦上使用Emacs 24,它通常連接到非常漂亮的外部顯示器,我喜歡一種顏色主題(使用deftheme)。但是當我在路上的時候,我喜歡另一種巧克力。根據連接的顯示器更改Emacs 24主題

我該如何讓Emacs監聽連接事件並相應設置主題?

回答

0

我懷疑有一種簡單的方法來對顯示配置的變化作出反應。在Linux上,您可能很幸運能夠找到一個DBus服務發出這樣的變化信號,您可以通過Emacs D-Bus library進行響應,但在OS X和Windows上,我懷疑是否有這樣一種簡單的方法。

你可能會與你最喜歡的兩個主題之間切換簡單的鍵綁定更好:

(defvar my-current-theme nil 
    "The last used theme.") 

(defun my-toggle-themes() 
    "Toggle between my favorite themes." 
    (let ((new-theme (if (eq my-current-theme 'solarized-light) 
         'zenburn 'solarized-light))) 
    (load-theme new-theme :no-confirm) 
    (setq my-current-theme new-theme))) 

(global-set-key (kbd "C-c t") #'my-toggle-themes)