aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Blandy1992-07-10 02:33:41 +0000
committerJim Blandy1992-07-10 02:33:41 +0000
commit06b1a5ef11625ecec550c540b4fbbe5730fac312 (patch)
treee8cbb88de35f2befc7760890db6883093db88b1d
parent79058860e129d648e6121ac1996dadf0128dc25a (diff)
downloademacs-06b1a5ef11625ecec550c540b4fbbe5730fac312.tar.gz
emacs-06b1a5ef11625ecec550c540b4fbbe5730fac312.zip
*** empty log message ***
-rw-r--r--lisp/buff-menu.el2
-rw-r--r--lisp/frame.el34
-rw-r--r--src/frame.c6
-rw-r--r--src/xterm.c2
4 files changed, 38 insertions, 6 deletions
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 6682f42c682..7053e78448f 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -102,7 +102,7 @@ Letters do not insert themselves; instead, they are commands.
102 (error "No buffer named \"%s\"" string) 102 (error "No buffer named \"%s\"" string)
103 nil))))) 103 nil)))))
104 104
105(defun buffer-menu (arg) 105(defun buffer-menu (&optional arg)
106 "Make a menu of buffers so you can save, delete or select them. 106 "Make a menu of buffers so you can save, delete or select them.
107With argument, show only buffers that are visiting files. 107With argument, show only buffers that are visiting files.
108Type ? after invocation to get help on commands available. 108Type ? after invocation to get help on commands available.
diff --git a/lisp/frame.el b/lisp/frame.el
index e8a52af962f..a040e2ea6e3 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -201,7 +201,39 @@ under the X Window System."
201 (let ((screen (selected-screen))) 201 (let ((screen (selected-screen)))
202 (if (eq (screen-visible-p screen) t) 202 (if (eq (screen-visible-p screen) t)
203 (iconify-screen screen) 203 (iconify-screen screen)
204 (deiconify-screen screen)))) 204 (make-screen-visible screen))))
205
206
207;;;; Screen configurations
208
209(defun current-screen-configuration ()
210 "Return a list describing the positions and states of all screens.
211Each element is a list of the form (SCREEN ALIST WINDOW-CONFIG), where
212SCREEN is a screen object, ALIST is an association list specifying
213some of SCREEN's parameters, and WINDOW-CONFIG is a window
214configuration object for SCREEN."
215 (mapcar (function
216 (lambda (screen)
217 (list screen
218 (screen-parameters screen)
219 (current-window-configuration screen))))
220 (screen-list)))
221
222(defun set-screen-configuration (configuration)
223 "Restore the screens to the state described by CONFIGURATION.
224Each screen listed in CONFIGURATION has its position, size, window
225configuration, and other parameters set as specified in CONFIGURATION."
226 (let (screens-to-delete)
227 (mapcar (function
228 (lambda (screen)
229 (let ((parameters (assq screen configuration)))
230 (if parameters
231 (progn
232 (modify-screen-parameters screen (nth 1 parameters))
233 (set-window-configuration (nth 2 parameters)))
234 (setq screens-to-delete (cons screen screens-to-delete))))))
235 (screen-list))
236 (mapcar 'delete-screen screens-to-delete)))
205 237
206 238
207;;;; Convenience functions for dynamically changing screen parameters 239;;;; Convenience functions for dynamically changing screen parameters
diff --git a/src/frame.c b/src/frame.c
index 41df7e26caf..1068c2e2e01 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -641,7 +641,9 @@ WARNING: If you use this under X, you should do `unfocus-screen' afterwards.")
641 641
642#if 0 642#if 0
643/* ??? Can this be replaced with a Lisp function? 643/* ??? Can this be replaced with a Lisp function?
644 It is used in minibuf.c. Can we get rid of that? */ 644 It is used in minibuf.c. Can we get rid of that?
645 Yes. All uses in minibuf.c are gone, and parallels to these
646 functions have been defined in screen.el. */
645 647
646DEFUN ("screen-configuration", Fscreen_configuration, Sscreen_configuration, 648DEFUN ("screen-configuration", Fscreen_configuration, Sscreen_configuration,
647 0, 0, 0, 649 0, 0, 0,
@@ -872,7 +874,7 @@ store_screen_param (s, prop, val)
872 error ("Surrogate minibuffer windows must be minibuffer windows."); 874 error ("Surrogate minibuffer windows must be minibuffer windows.");
873 875
874 if (SCREEN_HAS_MINIBUF (s) || SCREEN_MINIBUF_ONLY_P (s)) 876 if (SCREEN_HAS_MINIBUF (s) || SCREEN_MINIBUF_ONLY_P (s))
875 error ("Can't change surrogate minibuffer on screens with their own minibuffers."); 877 error ("Can't change the surrogate minibuffer of a screen with its own minibuffer.");
876 878
877 /* Install the chosen minibuffer window, with proper buffer. */ 879 /* Install the chosen minibuffer window, with proper buffer. */
878 s->minibuffer_window = val; 880 s->minibuffer_window = val;
diff --git a/src/xterm.c b/src/xterm.c
index 5261ed7158c..43f59d03ad2 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -3374,10 +3374,8 @@ x_make_screen_visible (s)
3374 if (! SCREEN_VISIBLE_P (s)) 3374 if (! SCREEN_VISIBLE_P (s))
3375 { 3375 {
3376#ifdef HAVE_X11 3376#ifdef HAVE_X11
3377#if 0
3378 if (! EQ (Vx_no_window_manager, Qt)) 3377 if (! EQ (Vx_no_window_manager, Qt))
3379 x_wm_set_window_state (s, NormalState); 3378 x_wm_set_window_state (s, NormalState);
3380#endif
3381 3379
3382 XMapWindow (XDISPLAY s->display.x->window_desc); 3380 XMapWindow (XDISPLAY s->display.x->window_desc);
3383 if (s->display.x->v_scrollbar != 0 || s->display.x->h_scrollbar != 0) 3381 if (s->display.x->v_scrollbar != 0 || s->display.x->h_scrollbar != 0)