1

В Emacs, если я разделю фрейм (C-x 2), у каждого окна будет строка состояния. Исторически я мог перетащить строку состояния, чтобы изменить их размер.

К сожалению, в наши дни с Emacs и несколькими режимами (для контроля версий, номера строки / столбца, сокращений, моего языка программирования и т.д.) Почти вся строка переставила мышь-1 в нечто иное, чем позволяющая перетаскивать панель !

Есть ли способ превратить строку состояния обратно в то, что я могу перетащить, не теряя все свои режимы?

1 ответ1

0

Вы все еще можете перетащить пробел между компонентами строки состояния, например, на 2 пробела перед именем буфера.

Вы также можете изменить размер окна с помощью клавиатуры: C-x ^ (enlarge-window), аргумент префикса - это количество строк, которые нужно добавить.

РЕДАКТИРОВАТЬ:

Каждый элемент строки режима может иметь свойство local-map которое является ключевой картой, которая применяется при нажатии на этот элемент. Привязки мыши для линейных элементов стандартного режима определены в bindings.el . Вы можете переключаться между различными раскладками клавиш, которые вы найдете там; ключ для переназначения - [mode-line mouse-1] . Возможно, вам также придется иметь дело с режимами, которые добавляют свои собственные компоненты в строку режима.

Элемент строки режима, имеющий локальную раскладку ключей, выглядит следующим образом: (:propertize ELEMENT ... local-map (keymap ...) ...) . Вы можете перебирать mode-line-format и обнаруживать и изменять все такие раскладки клавиш. Это больше кода, чем я хочу написать в этом ответе, потому что элементы могут быть символами, за которыми вы должны следовать, и списками, в которые вы должны переходить, если их car верна. К сожалению для вас, когда :propertize элементы вложены, похоже, что применяется самое глубокое свойство, так что вы не можете просто переопределить все свойства local-map , обернув всю строку режима в propertize . Опять же вам придется иметь дело с режимами, которые добавляют свои собственные компоненты отдельно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .