我在运行Ubuntu Linux的笔记本电脑上使用Emacs 24,它通常连接到一个非常漂亮的外部显示器,我喜欢一个颜色主题(使用deftheme)。但是当我在旅途中时,我喜欢另一个默默无闻。
如何让Emacs监听监听连接事件,并相应地设置主题?
答案 0 :(得分: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)