emacs как определить ориентацию окна?
-
18-09-2019 - |
Вопрос
Как мне определить ориентацию окна emacs, напримересли он был создан путем вертикального или горизонтального разделения?в качестве альтернативы, как я могу определить, можно ли изменить размер окна по вертикали или горизонтали?
в связи с этим, существует ли руководство по программированию emacs Windows, напримерразмер, связанные буферы, свойства и т.д.?
Большое вам спасибо.
смог откопать current-window-configuration
и set-window-configuration
.Я все еще изучаю emacs, поэтому я не уверен, что делать с объектом конфигурации и как его модифицировать.
Решение
Я предполагаю, что вы используете термин "окно" для обозначения окон Emacs, а не окон приложений верхнего уровня (которые в терминологии Emacs являются фреймами).Если это то, что вы ищете, ответ zdav содержит некоторую полезную информацию.
Есть две функции window-height
и window-width
.Вы могли бы тривиально закодировать функцию, которая сообщает вам, является ли окно выше, чем шире (подразумевая, что оно было создано с вертикальным разделением), или наоборот.Размеры окон изменяются с помощью shrink-window
и enlarge-window
.У них есть аргументы, которым нужно указать изменение размера по горизонтали, если это то, что вы ищете.Есть несколько других функций, таких как window-splittable-p
и т.д.который может помочь вам с разделением окон.
Для получения полной информации об игре с Windows, обратитесь к руководству.
Другие советы
Похоже, что каждый буфер и фрейм имеют набор локальных переменных.Таким образом, должна быть возможность извлечь всю информацию о геометрии. Смотрите руководство. В руководстве также есть много полезной информации о манипулировании окнами / фреймами / буферами.