diff options
author | Karl Heuer <[email protected]> | 1995-05-26 03:54:38 +0000 |
---|---|---|
committer | Karl Heuer <[email protected]> | 1995-05-26 03:54:38 +0000 |
commit | 6e4aafdc8a5bf0bcbe758e2790309ffe3541f05e (patch) | |
tree | d9bac2c4afeb1e9d1aa5d4594b8b264694130bf1 /lisp/faces.el | |
parent | ecd1f654a11759b1aeb4885e9a6c764ece0c5336 (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.el | 18 |
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)) |