lisp/desktop.el: Correctly restore iconified frames.

(desktop--filter-iconified-position): New function.
(desktop-filter-parameters-alist): Add entries for `top' and `left'.
This commit is contained in:
Juanma Barranquero 2013-07-21 04:42:11 +02:00
parent d828e5f942
commit 728dc3cc60
2 changed files with 13 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2013-07-21 Juanma Barranquero <lekktu@gmail.com>
* desktop.el: Correctly restore iconified frames.
(desktop--filter-iconified-position): New function.
(desktop-filter-parameters-alist): Add entries for `top' and `left'.
2013-07-20 Glenn Morris <rgm@gnu.org>
* progmodes/gdb-mi.el (gdb-delete-handler, gdb-stopped):

View file

@ -896,10 +896,12 @@ DIRNAME must be the directory in which the desktop file will be saved."
(foreground-color . desktop--filter-*-color)
(fullscreen . desktop--filter-save-desktop-parm)
(height . desktop--filter-save-desktop-parm)
(left . desktop--filter-iconified-position)
(minibuffer . desktop--filter-minibuffer)
(name . t)
(outer-window-id . t)
(parent-id . t)
(top . desktop--filter-iconified-position)
(tty . desktop--filter-tty*)
(tty-type . desktop--filter-tty*)
(width . desktop--filter-save-desktop-parm)
@ -1004,6 +1006,11 @@ Only meaningful when called from a filtering function in
(cons (car current) val))))
(t t)))
(defun desktop--filter-iconified-position (_current parameters saving)
;; When saving an iconified frame, top & left are meaningless,
;; so remove them to allow restoring to a default position.
(not (and saving (eq (cdr (assq 'visibility parameters)) 'icon))))
(defun desktop-restore-in-original-display-p ()
"True if saved frames' displays should be honored."
(cond ((daemonp) t)