aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/faces.el
diff options
context:
space:
mode:
authorKarl Heuer <[email protected]>1995-05-26 03:54:38 +0000
committerKarl Heuer <[email protected]>1995-05-26 03:54:38 +0000
commit6e4aafdc8a5bf0bcbe758e2790309ffe3541f05e (patch)
treed9bac2c4afeb1e9d1aa5d4594b8b264694130bf1 /lisp/faces.el
parentecd1f654a11759b1aeb4885e9a6c764ece0c5336 (diff)
(x-create-frame-with-faces): Read geometry resource
and use that while creating the frame.
Diffstat (limited to 'lisp/faces.el')
-rw-r--r--lisp/faces.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/lisp/faces.el b/lisp/faces.el
index c5ab9b6623..aa14e62b72 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -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))