Как мне установить начальную позицию окна в Emacs Какао?

У меня есть следующий набор в моем файле.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 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам