3

У меня есть следующий набор в моем файле .emacs:

 (if (window-system)
   (set-frame-height (selected-frame) 60)
   (set-frame-position (selected-frame) 50 30))

Он правильно устанавливает высоту кадра, но не положение кадра. Я бегу:

GNU Emacs 23.2.1 (i386-apple-darwin9.8.0, NS apple-appkit-949.54)

РЕДАКТИРОВАТЬ:

Код, предложенный ниже, не относится к Mac. Вы должны будете отредактировать его (просто возьмите любую из ссылок *win* . Вот что я использовал эту работу. Настройте его по своему вкусу!

(setq initial-frame-alist
      `((background-color . ,(face-background 'default))
        (foreground-color . ,(face-foreground 'default))
        (horizontal-scroll-bars . nil)
        (vertical-scroll-bars . nil)
        (menu-bar-lines . 0)
        (top . 50)      ;; This is overridden by my-center-frame later.
        (left . 400)        ;; This is overridden by my-center-frame later.
        (cursor-color . "red")
        (mouse-color . "green")))

2 ответа2

3

Вы используете , if неправильно, вставленный код будет работать только первый вид , если условие истинно (см здесь). Попробуйте использовать макрос when вместо этого:

(when (window-system)
  (set-frame-height (selected-frame) 60)
  (set-frame-position (selected-frame) 50 30))

Это будет запускать каждую форму после условия, если условие истинно.

2

Futzing с начальными настройками frame-alist, аля:

http://paste.lisp.org/display/6194

может работать. В частности, попробуйте поиграть с верхним и левым свойствами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .