Изменение цвета курсора Emacs / взаимодействие с цветными темами - PullRequest
2 голосов
/ 14 июля 2011

Из-за эта ошибка в Какао Emacs при использовании курсора в окне затеняет символ под курсором, а при использовании курсора на панели с соляризацией я не смог определить, где он находится в моретекста.Поэтому я хочу, чтобы курсор был красным баром.Я думал, что это будет работать, в моем .emacs:

(when window-system
  (require 'color-theme-solarized)
  (global-set-key (kbd "C-c l") 'color-theme-solarized))
(case window-system
  ('ns (progn
        (defadvice color-theme-solarized (after cursor-more-visible)
          "change the cursor color so it stands out more"
          (set-cursor-color "red"))
        (ad-activate 'color-theme-solarized)
        (color-theme-solarized 'dark)
        [...]
        ))
  [...])

Но программный вызов color-theme-solarized на самом деле не меняет цвет курсора.Цвет курсора действительно изменяется, если я вызываю color-theme-solarized в интерактивном режиме (или в буфере * scratch * с C-xC-e) - так что совет принимается, вроде.

Добавление(setq default-frame-alist '((cursor-color . "red"))) (как предложено здесь ), похоже, не помогает.Просто для удовольствия я попытался изменить (color-theme-solarized 'dark) на (call-interactively color-theme-solarized), но безуспешно.

Как я могу сделать так, чтобы цвет курсора автоматически устанавливался на красный при запуске?

1 Ответ

4 голосов
/ 14 июля 2011

Значения по умолчанию frame-alist используются для НОВЫХ созданных кадров.Они не влияют на текущий кадр.Вы можете установить initial-frame-alist , если хотите указать значения начального фрейма в вашем файле .emacs.Чтобы изменить только цвет курсора в текущем кадре, используйте:

(set-cursor-color "red")
...