Изменить ширину кадра в Emacs, Интерактивно - PullRequest
13 голосов
/ 14 марта 2009

Я знаю, что вы можете изменить размер кадра в файле .emacs с помощью set-frame-width или (add-to-list 'default-frame-alist '(width . 80)), но как я могу изменить ширину после запуска Emacs (кроме перетаскивания края кадра)?

Ответы [ 4 ]

17 голосов
/ 14 марта 2009

Ну, перейдите в буфер *scratch* и используйте set-frame-width.

(set-frame-width (selected-frame) 100)  ;; ^J to execute.

set-frame-width не интерактивен, поэтому вы не можете запустить его с M-x, но вы можете просто написать интерактив set-frame-width-width, что-то вроде

(defun set-frame-width-interactive (arg)
   (interactive "p")
   (set-frame-width (selected-frame) arg))

Теперь C-u 8 0 M-x set-frame-width-interactive установит ширину в 80.

Это то, что вы пытаетесь сделать?

6 голосов
/ 14 марта 2009

В этой библиотеке есть куча интерактивных команд для вашего использования: http://www.emacswiki.org/emacs/frame-cmds.el

Вот несколько важных:

enlarge-frame
enlarge-frame-horizontally
hide-frame
mouse-show-hide-mark-unmark
move-frame-down
move-frame-left
move-frame-right
move-frame-up
show-a-frame-on
show-frame
shrink-frame
shrink-frame-horizontally
tile-frames
5 голосов
/ 14 марта 2009

В дополнение к предложениям Чарли Мартина, вы можете сделать

M-: (set-frame-width (selected-frame) N)
3 голосов
/ 16 апреля 2009

Чтобы легко переключаться между двумя размерами кадра, вы можете определить что-то подобное (например, добавить его в свой файл ".emacs") (адаптировать размеры к вашему экрану и шрифту)

     (defvar myfullscreen '()
       "non-nil if current frame is in fullscreen mode. See myfullscreen-on, myfullscreen-off, myfullscreen-toggle")

     (defun myfullscreen-on ()
       "Sets fullscreen on (based on ???display??? with font ???)"
       (interactive)
       (set-frame-width (selected-frame) 177); adapt size
       (set-frame-height (selected-frame) 58); adapt size
       (setq myfullscreen t)
       )

     (defun myfullscreen-off ()
       "Sets fullscreen off (based on ???display??? with font ???)"  
       (interactive)
       (set-frame-width (selected-frame) 110); adapt size
       (set-frame-height (selected-frame) 58); adapt size
       (setq myfullscreen nil)
       )

     (defun myfullscreen-toggle ()
       "Toggles fullscreen on/off (based on ???Display??? with font ???)"    
       (interactive)
       (if (eq myfullscreen 'nil)
           (myfullscreen-on)
                                    ;else
         (myfullscreen-off)
         )
       )

Затем вы можете использовать

M-x myfullscreen-on

M-x myfullscreen-off

M-x myfullscreen-toggle

и / или привязать их к вашим любимым клавишам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...