From xemacs-m  Fri Jan 31 18:54:11 1997
Received: from steadfast.teradyne.com (steadfast.teradyne.com [131.101.1.200])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id SAA18552
	for <xemacs-beta@xemacs.org>; Fri, 31 Jan 1997 18:54:10 -0600 (CST)
Received: from kiki.icd.teradyne.com (kiki.icd.teradyne.com [131.101.1.30]) by steadfast.teradyne.com (8.8.5/8.7.1) with ESMTP id TAA01968 for <xemacs-beta@xemacs.org>; Fri, 31 Jan 1997 19:57:19 -0500 (EST)
Received: from spacely.icd.teradyne.com (spacely.icd.teradyne.com [131.101.10.9]) by kiki.icd.teradyne.com (8.7.1/8.7.1) with SMTP id TAA06964 for <xemacs-beta@xemacs.org>; Fri, 31 Jan 1997 19:51:27 -0500 (EST)
Received: from spacely by spacely.icd.teradyne.com (SMI-8.6/SMI-SVR4)
	id TAA18643; Fri, 31 Jan 1997 19:53:58 -0500
Message-Id: <199702010053.TAA18643@spacely.icd.teradyne.com>
X-Mailer: exmh version 2.0gamma 1/27/96
To: xemacs-beta@xemacs.org
reply-to: acs@acm.org
X-Attribution: Vin
Subject: Option to Toggle Minibuffer
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Fri, 31 Jan 1997 19:53:58 -0500
From: Vinnie Shelton  <shelton@icd.teradyne.com>

Probably too late for 20.0, but here is a re-packaged version of my patch 
to toggle the minibuffer for the current frame.  The patch was built 
against b93, but it should apply to 19,15, as well.

vin

--- lisp/x11/x-menubar.el-pre-acs	Fri Jan 31 10:07:03 1997
+++ lisp/x11/x-menubar.el	Fri Jan 31 19:20:38 1997
@@ -443,6 +443,14 @@
        ["Frame-Local Font Menu" (setq font-menu-this-frame-only-p
 				    (not font-menu-this-frame-only-p))
 	:style toggle :selected font-menu-this-frame-only-p]
+       ["Toggle minibuffer"
+	(toggle-minibuffer)
+	:style toggle
+	:active (not (equal (selected-frame)
+			    default-minibuffer-frame))
+	:selected (equal
+		   (frame-property (selected-frame) 'minibuffer)
+		   t)]
 ;     ["Line Numbers" (line-number-mode nil)
 ;      :style toggle :selected line-number-mode]
       )
@@ -1339,6 +1347,24 @@
       (set-buffer init-output-buffer)
       (save-buffer))
     ))
+
+(defun toggle-minibuffer ()
+  (if (equal (frame-property (selected-frame) 'minibuffer) t)
+
+      ;; frame has a minibuffer, so remove it
+      ;; unfortunately, we must delete and redraw the frame
+      (let ((fp (frame-properties (selected-frame)))
+	    (buf (current-buffer)))
+	(delete-frame)
+	(select-frame
+	 (make-frame (plist-put
+		      (plist-remprop
+		       (plist-remprop fp 'window-id) 'minibuffer)
+		      'minibuffer nil)))
+	(switch-to-buffer buf))
+
+    ;; no minibuffer so add one
+    (set-frame-property (selected-frame) 'minibuffer t)))
 
 
 (set-menubar default-menubar)


