Commit 06b1a5ef authored by Jim Blandy's avatar Jim Blandy

*** empty log message ***

parent 79058860
......@@ -102,7 +102,7 @@ Letters do not insert themselves; instead, they are commands.
(error "No buffer named \"%s\"" string)
nil)))))
(defun buffer-menu (arg)
(defun buffer-menu (&optional arg)
"Make a menu of buffers so you can save, delete or select them.
With argument, show only buffers that are visiting files.
Type ? after invocation to get help on commands available.
......
......@@ -201,7 +201,39 @@ under the X Window System."
(let ((screen (selected-screen)))
(if (eq (screen-visible-p screen) t)
(iconify-screen screen)
(deiconify-screen screen))))
(make-screen-visible screen))))
;;;; Screen configurations
(defun current-screen-configuration ()
"Return a list describing the positions and states of all screens.
Each element is a list of the form (SCREEN ALIST WINDOW-CONFIG), where
SCREEN is a screen object, ALIST is an association list specifying
some of SCREEN's parameters, and WINDOW-CONFIG is a window
configuration object for SCREEN."
(mapcar (function
(lambda (screen)
(list screen
(screen-parameters screen)
(current-window-configuration screen))))
(screen-list)))
(defun set-screen-configuration (configuration)
"Restore the screens to the state described by CONFIGURATION.
Each screen listed in CONFIGURATION has its position, size, window
configuration, and other parameters set as specified in CONFIGURATION."
(let (screens-to-delete)
(mapcar (function
(lambda (screen)
(let ((parameters (assq screen configuration)))
(if parameters
(progn
(modify-screen-parameters screen (nth 1 parameters))
(set-window-configuration (nth 2 parameters)))
(setq screens-to-delete (cons screen screens-to-delete))))))
(screen-list))
(mapcar 'delete-screen screens-to-delete)))
;;;; Convenience functions for dynamically changing screen parameters
......
......@@ -641,7 +641,9 @@ WARNING: If you use this under X, you should do `unfocus-screen' afterwards.")
#if 0
/* ??? Can this be replaced with a Lisp function?
It is used in minibuf.c. Can we get rid of that? */
It is used in minibuf.c. Can we get rid of that?
Yes. All uses in minibuf.c are gone, and parallels to these
functions have been defined in screen.el. */
DEFUN ("screen-configuration", Fscreen_configuration, Sscreen_configuration,
0, 0, 0,
......@@ -872,7 +874,7 @@ store_screen_param (s, prop, val)
error ("Surrogate minibuffer windows must be minibuffer windows.");
if (SCREEN_HAS_MINIBUF (s) || SCREEN_MINIBUF_ONLY_P (s))
error ("Can't change surrogate minibuffer on screens with their own minibuffers.");
error ("Can't change the surrogate minibuffer of a screen with its own minibuffer.");
/* Install the chosen minibuffer window, with proper buffer. */
s->minibuffer_window = val;
......
......@@ -3374,10 +3374,8 @@ x_make_screen_visible (s)
if (! SCREEN_VISIBLE_P (s))
{
#ifdef HAVE_X11
#if 0
if (! EQ (Vx_no_window_manager, Qt))
x_wm_set_window_state (s, NormalState);
#endif
XMapWindow (XDISPLAY s->display.x->window_desc);
if (s->display.x->v_scrollbar != 0 || s->display.x->h_scrollbar != 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment