>From f5b64fa1dd09af5b3f64c94ea94032562acb4fae Mon Sep 17 00:00:00 2001 From: Morgan Veyret Date: Sun, 15 Jun 2008 01:43:52 +0200 Subject: [PATCH] Added :dump-name options to define-frame-preference to specify a group dump filename to try. Defaults to group-name. --- primitives.lisp | 11 +++++++++-- window.lisp | 11 +++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/primitives.lisp b/primitives.lisp index 0debc3d..edc991a 100644 --- a/primitives.lisp +++ b/primitives.lisp @@ -917,8 +917,15 @@ add rules") ;; verify the correct structure (destructuring-bind (frame-number raise lock restore-or-create &rest keys - &key class instance type role title) ,x - (push (list* ,group frame-number raise lock restore-or-create keys) + &key (dump-name ,group) + class instance type role title) ,x + (push (list* ,group frame-number raise lock restore-or-create + (concat *group-dump-dir* dump-name) + ;; FIXME: there's probably something better + (remove-if (lambda (item) + (or (eq item :dump-name) + (eq item dump-name))) + keys)) *window-placement-rules*))))) (defun clear-window-placement-rules () diff --git a/window.lisp b/window.lisp index 74709e2..3c0356f 100644 --- a/window.lisp +++ b/window.lisp @@ -736,8 +736,9 @@ than the root window's width and height." (defun window-matches-rule-p (w rule) "Returns T if window matches rule" (destructuring-bind (group-name frame raise lock restore-or-create + dump-name &rest props) rule - (declare (ignore frame raise restore-or-create)) + (declare (ignore frame raise restore-or-create dump-name)) (if (or lock (equal group-name (group-name (or (window-group w) (current-group))))) (apply 'window-matches-properties-p w props)))) @@ -761,13 +762,11 @@ than the root window's width and height." (if group (values group (frame-by-number group frame) raise) (if restore-or-create - (let ((new-group (add-group (current-screen) group-name)) - (group-dump-file (concat *group-dump-dir* - group-name))) + (let ((new-group (add-group (current-screen) group-name))) (if (and new-group - (probe-file group-dump-file)) + (probe-file dump-name)) (progn (restore-group new-group - (read-dump-from-file group-dump-file)) + (read-dump-from-file dump-name)) (values new-group (frame-by-number new-group frame) raise)) -- 1.5.5.1