Как я устанавливаю размер окна Emacs?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
101
задан Luke Girvin 4 September 2011 в 01:05
поделиться

7 ответов

Если Вы хотите изменить размер согласно разрешению, можно сделать что-то вроде этого (корректировка предпочтительной ширины и разрешений согласно определенным потребностям):

(defun set-frame-size-according-to-resolution ()
  (interactive)
  (if window-system
  (progn
    ;; use 120 char wide window for largeish displays
    ;; and smaller 80 column windows for smaller displays
    ;; pick whatever numbers make sense for you
    (if (> (x-display-pixel-width) 1280)
           (add-to-list 'default-frame-alist (cons 'width 120))
           (add-to-list 'default-frame-alist (cons 'width 80)))
    ;; for the height, subtract a couple hundred pixels
    ;; from the screen height (for panels, menubars and
    ;; whatnot), then divide by the height of a char to
    ;; get the height we want
    (add-to-list 'default-frame-alist 
         (cons 'height (/ (- (x-display-pixel-height) 200)
                             (frame-char-height)))))))

(set-frame-size-according-to-resolution)

Примечание, что оконная система удерживается от использования в более новых версиях emacs. Подходящая замена (display-graphic-p). См. этот ответ к вопросу , Как обнаружить, что emacs находится в терминальном режиме? для немного большего количества фона.

87
ответ дан Community 24 November 2019 в 04:40
поделиться

У меня есть следующее в моем .emacs:

(if (window-system)
  (set-frame-height (selected-frame) 60))

Вы могли бы также посмотреть на функции set-frame-size, set-frame-position, и set-frame-width. Используйте C-h f (иначе M-x describe-function) для перевода в рабочее состояние подробной документации.

я не уверен, существует ли способ вычислить макс. высоту/ширину кадра в текущей оконной среде.

48
ответ дан Chris Conway 24 November 2019 в 04:40
поделиться

Взятый от: http://www.gnu.org/software/emacs/windows/old/faq4.html

(setq default-frame-alist
      '((top . 200) (left . 400)
        (width . 80) (height . 40)
        (cursor-color . "white")
        (cursor-type . box)
        (foreground-color . "yellow")
        (background-color . "black")
        (font . "-*-Courier-normal-r-*-*-13-*-*-*-c-*-iso8859-1")))

(setq initial-frame-alist '((top . 10) (left . 30)))

первая установка относится ко всем кадрам emacs включая первый, который открывается, когда Вы запускаете. Вторая установка добавляет дополнительные атрибуты к первому кадру. Это вызвано тем, что иногда хорошо знать исходный кадр, в котором Вы запускаете emacs.

21
ответ дан 24 November 2019 в 04:40
поделиться

Самым легким путем я нашел, чтобы сделать, это в среде X Window до X ресурсов . Соответствующая часть моего.Xdefaults похожа на это:

Emacs.geometry: 80x70

необходимо быть в состоянии снабдить суффиксом его +0+0 координат места для принуждения его к верхнему левому углу дисплея. (причина, я не делаю этого, состоит в том, что я иногда порождаю новые кадры, и это делает вещи сбивающими с толку, если они появляются в том же самом месте как предыдущее)

Согласно руководству, эта техника работы над MS Windows также , храня ресурсы как пары ключ/значение в реестре. Я никогда не тестировал это. Это могло бы быть большим, это могло бы быть намного больше неудобства по сравнению с простым редактированием файла.

17
ответ дан JB. 24 November 2019 в 04:40
поделиться

Вы можете также - параметр геометрии при разжигании emacs: emacs -geometry 80x60+20+30 даст Вам окно 80 широкие символы, 60 строк высоко, с верхним левым углом 20 пикселей направо и 30 пикселей вниз от верхнего левого угла фона.

12
ответ дан Graeme Perrow 24 November 2019 в 04:40
поделиться
(setq initial-frame-alist
        (append '((width . 263) (height . 112) (top . -5) (left . 5) (font . "4.System VIO"))
                initial-frame-alist))

(setq default-frame-alist
        (append '((width . 263) (height . 112) (top . -5) (left . 5) (font . "4.System VIO"))
                default-frame-alist))
1
ответ дан N.N. 24 November 2019 в 04:40
поделиться

В Windows вы можете развернуть фрейм emacs на весь экран с помощью этой функции:

(defun w32-maximize-frame ()
  "Maximize the current frame"
  (interactive)
  (w32-send-sys-command 61488))
5
ответ дан 24 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: