From xemacs-m  Tue Jan 21 10:56:51 1997
Received: from steadfast.teradyne.com (steadfast.teradyne.com [131.101.1.200])
          by xemacs.org (8.8.4/8.8.4) with ESMTP
	  id KAA29180 for <xemacs-beta@xemacs.org>; Tue, 21 Jan 1997 10:56:49 -0600 (CST)
Received: from kiki.icd.teradyne.com (kiki.icd.teradyne.com [131.101.1.30]) by steadfast.teradyne.com (8.7.1/8.7.1) with ESMTP id LAA14506 for <xemacs-beta@xemacs.org>; Tue, 21 Jan 1997 11:59:50 -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 LAA24193 for <xemacs-beta@xemacs.org>; Tue, 21 Jan 1997 11:54:09 -0500 (EST)
Received: from spacely by spacely.icd.teradyne.com (SMI-8.6/SMI-SVR4)
	id LAA14697; Tue, 21 Jan 1997 11:56:30 -0500
Message-Id: <199701211656.LAA14697@spacely.icd.teradyne.com>
X-Mailer: exmh version 2.0beta 12/23/96
To: xemacs-beta@xemacs.org
Subject: Re: Toggling minibuffer? 
In-reply-to: wmperry's message of Tue, 21 Jan 1997 07:58:24 -0800.
	     <199701211558.HAA12318@newman> 
reply-to: acs@acm.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Tue, 21 Jan 1997 11:56:30 -0500
From: Vinnie Shelton  <shelton@icd.teradyne.com>

> Should this code work?  If so, it doesn't.  Or can the minibuffer attribute
> only be set at frame creation time?
> 
> -bp
> 
> (set-frame-property (selected-frame) 'minibuffer
>                     (not (frame-property (selected-frame) 'minibuffer)))
> (frame-notice-user-settings)
> 

My mind is still on vacation, but I posted this code last week.
And at that time, I thought it worked.

vin


      (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)))
 
      (add-menu-button '("Options")
                       ["Toggle minibuffer"
                        (toggle-minibuffer)
                        :style toggle
                        :active (not (equal (selected-frame)
                                            default-minibuffer-frame))
                        :selected (equal
                                   (frame-property (selected-frame) 'minibuffer)
                                   t)]
                       "Save Options")
      (add-menu-button '("Options")
                       ["Default minibuffer here"
                        (setq default-minibuffer-frame (selected-frame))
                        :style toggle
                        :active (let ((mbf (frame-property
                                           (selected-frame) 'minibuffer)))
                                  (or (equal mbf (selected-frame))
                                      (equal mbf t)))
                        :selected (equal (selected-frame)
                                         default-minibuffer-frame)]
                       "Save Options")
      (add-menu-button '("Options")
                       ["Restore default icon"
                        (cond ((featurep 'xpm)
                               (set-glyph-image frame-icon-glyph
                                                (concat data-directory
                                                        "xemacs-icon.xpm")))
                              ((featurep 'x)
                               (set-glyph-image frame-icon-glyph
                                                (concat data-directory
                                                        "xemacs-icon2.xbm"))))
                        :style nil]
                       "Save Options")
      (add-menu-button '("Options")
                       ["------" nil nil]
                       "Save Options")


