Линейка одного режима для всех окон


9

Можно ли иметь только одну строку режима (иногда называемую «строка состояния») для всех окон?

Я бы хотел, чтобы эта строка в одном режиме отображала информацию о текущем выбранном буфере.


2
Возможно, вы могли бы позаимствовать концепцию в прикрепленном потоке и создать отдельное окно в нижней части каждого кадра, которое показывает только пользовательскую строку режима? emacs.stackexchange.com/questions/7697/…
юрист

Конечно, вы имеете в виду окна, а не рамки?
abo-abo

Хороший улов. Да, я имею в виду окна.
rgtk

Ответы:


8

У меня нет решения для одной модельной линии, но вот два возможных альтернативных решения:

1. Отрисовать только строку режима в активном окне:

Если вы используете Powerline, вы можете обернуть ваш формат mode-line в:

((:eval (when (powerline-selected-window-active) ...)))

затем измените mode-line-inactiveлицо так, чтобы оно сочеталось с фоном, но по-прежнему разделяло буферы с помощью:

(set-face-attribute 'mode-line-inactive nil
                    :underline t
                    :background (face-background 'default))

Это будет выглядеть так:

введите описание изображения здесь

2. Используйте frame-title-format

Вы frame-title-formatопределяете, что будет отображаться в верхней части вашего кадра при запуске в графическом интерфейсе.

Установите frame-title-format' like you would yourmode-line-format`, а они задают для вашего mode-line-format значение что-то пустое.


4

Я наконец достиг этого, взломав emacs. демонстрация

Вы можете получить исходный код по адресу https://github.com/amosbird/emacs/tree/onemodeline . В основном он использует строку заголовка мини-окна для визуализации модельной строки текущего буфера.


Это все еще работает / работает с Emacs 26.1?
rien333

@ rien333 Должен. Но этот метод действительно очень хрупкий. Есть все еще жестко закодированная логика, которая требует, чтобы мини-окно было одной строкой. Однако я не мог найти их всех.
Амос
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.