Wie stelle ich meine ursprüngliche Fensterposition in Cocoa Emacs ein?

3816
Avery Chan

Ich habe den folgenden Satz in meiner .emacs-Datei:

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

Es stellt die Rahmenhöhe korrekt ein, aber nicht die Rahmenposition. Ich renne:

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

BEARBEITEN:

Der folgende Code ist nicht für Mac spezifisch. Sie müssen es bearbeiten (nehmen Sie einfach nur die *win*Referenzen heraus. Ich habe diese Arbeit hier verwendet. Passen Sie sie nach Ihren Wünschen an!)

(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"))) 
3
Was macht es mit Ihrer Frame-Positionsinformation - ignoriert es diese überhaupt? blueberryfields vor 13 Jahren 0

2 Antworten auf die Frage

3
shawkinaw

Sie verwenden iffalsch. Der eingefügte Code führt nur dann das erste Formular aus, wenn die Bedingung erfüllt ist (siehe hier ). Verwenden Sie stattdessen das whenMakro:

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

Wenn die Bedingung erfüllt ist, wird jedes Formular nach der Bedingung ausgeführt.

2
blueberryfields

Futzing mit den anfänglichen Frame-Alist-Einstellungen, ala:

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

könnte funktionieren. Versuchen Sie insbesondere, mit den oberen und linken Eigenschaften zu spielen.

Das hat perfekt funktioniert. +50 für dich. Avery Chan vor 13 Jahren 0
Ich erhalte den Wert des Symbols, da die Variable ungültig ist: my-win32 incandescentman vor 9 Jahren 0