Рядок єдиного режиму для всіх вікон


9

Чи можливий лише один режим режиму (іноді його називають "панеллю стану") для всіх вікон?

Я хотів би, щоб цей рядок одного режиму відображав інформацію про поточно вибраний буфер.


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

Звичайно, ви маєте на увазі вікна, а не рами?
або-або

Хороший улов. Так, я маю на увазі вікна.
rgtk

Відповіді:


8

У мене немає рішення для жодної моделіни, але ось два можливих альтернативних рішення:

1. Відображайте лише рядок режиму в активному вікні:

Якщо ви використовуєте лінію електропередач, ви можете обернути свій режим-режим-формат у:

((: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визначаєте, що відображатиметься у верхній частині кадру під час роботи в gui.

Встановіть frame-title-format' like you would yourрежим mode-line-format` і встановіть ваш режим mode-line на щось порожнє.


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.