diff options
| -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 c5ab9b6623f..aa14e62b72c 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -938,6 +938,24 @@ selected frame." | |||
| 938 | ;; Like x-create-frame but also set up the faces. | 938 | ;; Like x-create-frame but also set up the faces. |
| 939 | 939 | ||
| 940 | (defun x-create-frame-with-faces (&optional parameters) | 940 | (defun x-create-frame-with-faces (&optional parameters) |
| 941 | ;; Read this frame's geometry resource, if it has an explicit name, | ||
| 942 | ;; and put the specs into PARAMETERS. | ||
| 943 | (let* ((name (or (cdr (assq 'name parameters)) | ||
| 944 | (cdr (assq 'name default-frame-alist)) | ||
| 945 | (cdr (assq 'name initial-frame-alist)))) | ||
| 946 | (x-resource-name name) | ||
| 947 | (res-geometry (x-get-resource "geometry" "Geometry")) | ||
| 948 | parsed) | ||
| 949 | (if res-geometry | ||
| 950 | (progn | ||
| 951 | (setq parsed (x-parse-geometry res-geometry)) | ||
| 952 | ;; If the resource specifies a position, | ||
| 953 | ;; call the position and size "user-specified". | ||
| 954 | (if (or (assq 'top parsed) (assq 'left parsed)) | ||
| 955 | (setq parsed (cons '(user-position . t) | ||
| 956 | (cons '(user-size . t) parsed)))) | ||
| 957 | ;; All geometry parms apply to the initial frame. | ||
| 958 | (setq parameters (append parameters parsed))))) | ||
| 941 | (if (null global-face-data) | 959 | (if (null global-face-data) |
| 942 | (x-create-frame parameters) | 960 | (x-create-frame parameters) |
| 943 | (let* ((visibility-spec (assq 'visibility parameters)) | 961 | (let* ((visibility-spec (assq 'visibility parameters)) |