]> git.eshelyaron.com Git - emacs.git/commitdiff
(x-create-frame-with-faces): Read geometry resource
authorKarl Heuer <kwzh@gnu.org>
Fri, 26 May 1995 03:54:38 +0000 (03:54 +0000)
committerKarl Heuer <kwzh@gnu.org>
Fri, 26 May 1995 03:54:38 +0000 (03:54 +0000)
and use that while creating the frame.

lisp/faces.el

index c5ab9b6623f8f4bcabfd2c430dbeec1b75c99baa..aa14e62b72cdf6576cea4c238739875094d132d7 100644 (file)
@@ -938,6 +938,24 @@ selected frame."
 ;; Like x-create-frame but also set up the faces.
 
 (defun x-create-frame-with-faces (&optional parameters)
+  ;; Read this frame's geometry resource, if it has an explicit name,
+  ;; and put the specs into PARAMETERS.
+  (let* ((name (or (cdr (assq 'name parameters))
+                  (cdr (assq 'name default-frame-alist))
+                  (cdr (assq 'name initial-frame-alist))))
+        (x-resource-name name)
+        (res-geometry (x-get-resource "geometry" "Geometry"))
+        parsed)
+    (if res-geometry
+       (progn
+         (setq parsed (x-parse-geometry res-geometry))
+         ;; If the resource specifies a position,
+         ;; call the position and size "user-specified".
+         (if (or (assq 'top parsed) (assq 'left parsed))
+             (setq parsed (cons '(user-position . t)
+                                (cons '(user-size . t) parsed))))
+         ;; All geometry parms apply to the initial frame.
+         (setq parameters (append parameters parsed)))))
   (if (null global-face-data)
       (x-create-frame parameters)
     (let* ((visibility-spec (assq 'visibility parameters))