Просить Emacs более четко выделить, какое окно (панель) имеет фокус (курсор) - PullRequest
23 голосов
/ 25 февраля 2012

Скажем, мое окно Emacs разделено на несколько плиток, например ::10000

---------------------------
|            |            |
|            |            |
---------------------------
|                         |
|                         |
---------------------------

Когда я переключаю листы (например, окна в Emacs) для редактирования моих файлов (например, используя Cx o ), я вижу, на какой плитке я нахожусь, визуально располагая курсор (точку) на экране. и проверка разницы в затенении в строке состояния каждой плитки:

Однако найти курсор на большом экране нелегко И разница в затенении в строке состояния, где находится курсор, почти ничтожна:

Вот как выглядит строка состояния при выборе соответствующего окна:

Img1

Вот как это выглядит, когда соответствующее окно не выбрано (обратите внимание, что зеленый цвет немного тусклее)

enter image description here

Выше с цветовой темой zenburn в GNU Emacs 23.3.1.

Мой вопрос: есть ли способ, чтобы Emacs более четко указывал, какое окно / мозаика / буфер является тем, которое имеет фокус?

Ответы [ 2 ]

22 голосов
/ 26 февраля 2012

Абсолютно!

Вы можете изменить модельную линию, чтобы выделить активную панель, используя следующие элементы в .emacs (конечно, измените цвета и стиль в соответствии с вашими предпочтениями).

(set-face-attribute  'mode-line
                 nil 
                 :foreground "gray80"
                 :background "gray25" 
                 :box '(:line-width 1 :style released-button))
(set-face-attribute  'mode-line-inactive
                 nil 
                 :foreground "gray30"
                 :background MY_BG_COLOR 
                 :box '(:line-width 1 :style released-button))

Поскольку кажется, что вы используете цветовую тему Zenburn, вы также можете исправить это внутри. Просто откройте файл в вашей библиотеке цветовых тем с именем zenburn.el (или это может быть color-theme-zenburn.el) и найдите следующие строки:

`(mode-line
  ((,class (:foreground ,zenburn-green+1
                       :background ,zenburn-bg-1
                       :box (:line-width -1 :style released-button)))))
`(mode-line-buffer-id ((,class (:foreground ,zenburn-yellow :weight bold))))
`(mode-line-inactive
  ((,class (:foreground ,zenburn-green-1
                       :background ,zenburn-bg-05
                       :box (:line-width -1 :style released-button)))))

и измените значения цвета фона и переднего плана по своему усмотрению.

6 голосов
/ 15 октября 2012

Для более быстрого решения вы можете использовать плагин Smart Mode Line для Emacs: цветовая линия с фиксированной шириной. Прекрасно работает с темой Zenburn (сейчас я использую оба).

Кстати, он доступен в ELPA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...