1

我在运行 Ubuntu Linux 的笔记本电脑上使用 Emacs 24,它通常连接到一个非常好的外接显示器,我喜欢一个颜色主题(使用 deftheme)。但是当我在路上时,我喜欢另一个deftheme。

如何让 Emacs 监听连接事件,并相应地设置主题?

4

1 回答 1

0

我怀疑是否有一种简单的方法可以对显示配置的更改做出反应。在 Linux 上,您可能很幸运地找到了一个指示此类更改的 DBus 服务,您可以通过Emacs D-Bus 库对其做出反应,但在 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)
于 2013-05-22T11:41:57.120 回答