;;; frameset.el --- save and restore frame and window setup -*- lexical-binding: t -*-
-;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2016 Free Software Foundation, Inc.
;; Author: Juanma Barranquero <lekktu@gmail.com>
;; Keywords: convenience
;; Now, what about the filter alist variables? There are three of them,
;; though only two sets of parameters:
;;
-;; - `frameset-session-filter-alist' contains these filters that allow to
-;; save and restore framesets in-session, without the need to serialize
-;; the frameset or save it to disk (for example, to save a frameset in a
-;; register and restore it later). Filters in this list do not remove
-;; live objects, except in `minibuffer', which is dealt especially by
-;; `frameset-save' / `frameset-restore'.
+;; - `frameset-session-filter-alist' contains these filters that allow
+;; saving and restoring framesets in-session, without the need to
+;; serialize the frameset or save it to disk (for example, to save a
+;; frameset in a register and restore it later). Filters in this
+;; list do not remove live objects, except in `minibuffer', which is
+;; dealt especially by `frameset-save' / `frameset-restore'.
;;
;; - `frameset-persistent-filter-alist' is the whole deal. It does all
;; the filtering described above, and the result is ready to be saved on
When forced onscreen, frames wider than the monitor's workarea are converted
to fullwidth, and frames taller than the workarea are converted to fullheight.
NOTE: This only works for non-iconified frames."
- (pcase-let* ((`(,left ,top ,width ,height) (cdadr (frame-monitor-attributes frame)))
+ (pcase-let* ((`(,left ,top ,width ,height) (cl-cdadr (frame-monitor-attributes frame)))
(right (+ left width -1))
(bottom (+ top height -1))
(fr-left (frameset-compute-pos (frame-parameter frame 'left) left right))
- a list (LEFT TOP WIDTH HEIGHT), describing the workarea.
It must return non-nil to force the frame onscreen, nil otherwise.
-CLEANUP-FRAMES allows to \"clean up\" the frame list after restoring a frameset:
+CLEANUP-FRAMES allows \"cleaning up\" the frame list after restoring a frameset:
t Delete all frames that were not created or restored upon.
nil Keep all frames.
FUNC A function called with two arguments: