2010-02-05 3 views
3

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

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

спасибо.

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

+0

Сведения о том, что делать с объектами конфигурации (которые отличаются от параметров), содержатся в ссылке, представленной в ответе на ваш исходный вопрос. –

ответ

3

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

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

Для всего совок по игре с окнами, consult the manual.

0

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

+0

Я считаю, что OP хочет получить информацию о «окне», а не о «фрейме» или «буфере». –