Emacs, как определить ориентацию окна? - PullRequest
3 голосов
/ 05 февраля 2010

Как мне определить ориентацию окна в emacs, например, если это было создано вертикальным или горизонтальным разделением? В качестве альтернативы, как я могу определить, можно ли изменить размер окна по вертикали или по горизонтали?

в соответствующей заметке, есть ли учебник по программированию окон Emacs, например размер, связанные буферы, свойства и т. д.

Большое спасибо.

удалось выкопать current-window-configuration и set-window-configuration. Я все еще изучаю emacs, поэтому я не уверен, что делать с объектом конфигурации и как его модифицировать.

Ответы [ 2 ]

3 голосов
/ 05 февраля 2010

Я предполагаю, что вы используете термин «окно» для обозначения окон Emacs, а не окон приложений верхнего уровня (которые в терминологии Emacs являются фреймами). Если это то, что вы ищете, то в ответе zdav есть некоторая полезная информация.

Есть две функции window-height и window-width. Вы можете тривиально написать функцию, которая сообщает вам, является ли окно выше, чем оно шире (подразумевается, что оно было создано с вертикальным разделением) или наоборот. Размеры окна изменяются с помощью shrink-window и enlarge-window. У них есть аргументы для изменения размера по горизонтали, если это то, что вы ищете. Есть несколько других функций, таких как window-splittable-p и т. Д., Которые могут помочь вам с разбиением окон.

Для получения полной информации об игре с Windows обратитесь к руководству .

0 голосов
/ 05 февраля 2010

Кажется, что каждый буфер и кадр имеет набор локальных переменных. Таким образом, должна быть возможность извлечь всю информацию о геометрии. См. Руководство. В руководстве также содержится много полезной информации о работе с окнами / кадрами / буферами.

...