summaryrefslogtreecommitdiff
path: root/src/frame.c
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2022-01-30 18:35:33 +0200
committerJuri Linkov <juri@linkov.net>2022-01-30 18:40:09 +0200
commit1b83e58adb46c2ab89320ffba868eb2025138b51 (patch)
treee14dac7bb5221d32c63d0dbb5bacd7df201a5d40 /src/frame.c
parent46611aa46838c234584678c0e8befc3adf4a9fe4 (diff)
downloademacs-1b83e58adb46c2ab89320ffba868eb2025138b51.tar.gz
* lisp/frame.el: Don't require 'frameset.el' (bug#51883).
(clone-frame): Use frame-internal-parameters. (undelete-frame--handle-delete-frame): Instead of using frameset-save, save frame-parameters except frame-internal-parameters and 'display' on non-graphic display. Also save window-state from window-state-get. (undelete-frame): Instead of using frameset-restore, set default-frame-alist for make-frame (like in clone-frame), and restore window-state with window-state-put. * lisp/frameset.el (frameset-session-filter-alist): Append parameters from frame-internal-parameters with the filter :never. Remove :name that is now in frame-internal-parameters. (frameset-persistent-filter-alist): Remove outer-window-id, parent-id, window-id that are now in frame-internal-parameters, included here via frameset-session-filter-alist. * src/frame.c (frame-internal-parameters): New variable.
Diffstat (limited to 'src/frame.c')
-rw-r--r--src/frame.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/frame.c b/src/frame.c
index c331cff32b4..f94dff0a607 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -6524,6 +6524,14 @@ making the child frame unresponsive to user actions, the default is to
iconify the top level frame instead. */);
iconify_child_frame = Qiconify_top_level;
+ DEFVAR_LISP ("frame-internal-parameters", frame_internal_parameters,
+ doc: /* Frame parameters specific to every frame. */);
+#ifdef HAVE_X_WINDOWS
+ frame_internal_parameters = list4 (Qname, Qparent_id, Qwindow_id, Qouter_window_id);
+#else
+ frame_internal_parameters = list3 (Qname, Qparent_id, Qwindow_id);
+#endif
+
defsubr (&Sframep);
defsubr (&Sframe_live_p);
defsubr (&Swindow_system);