GNU bug report logs - #32736
26; Bind `C-x 5 2' to `clone-frame' by default

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Fri, 14 Sep 2018 16:34:02 UTC

Severity: wishlist

Merged with 34715

Found in version 26.1

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 32736 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: 32736 <at> debbugs.gnu.org
Subject: RE: bug#32736: 26; Bind `C-x 5 2' to `clone-frame' by default
Date: Fri, 14 Sep 2018 12:35:58 -0700 (PDT)
> > Possible enhancement: Change default binding of `C-x 5 2' to
> > `clone-frame'.  Unlike `make-frame-command', `clone-frame' would use the
> > same frame-parameter values as the selected frame.  Here's a possible
> > definition of `clone-frame':
> 
> Hmm, how common is it to have a frame that doesnʼt have the same frame
> parameters as 'default-frame-alist', and you want to replicate them?
> Personally I quite like the current behaviour.

It's definitely the case for me. I use several kinds of special-display frames. If I use it on a *Help* frame get a *Help* frame (same background etc.). If I use it on an *info* frame I get an *info* frame, and so on.

If it's not the case for you then you should get pretty much the same behavior as now. I don't think you'll notice a difference.

> How about you make it take a prefix argument to get back
> 'make-frame-command' semantics (or keep the current ones, and add
> 'clone-frame' semantics to the prefix arg)?

Fair enough.

(defun clone-frame (&optional frame no-clone)
  "Make a new frame with the same parameters as FRAME.
With a prefix arg, don't clone - just call `make-frame-command'.

FRAME defaults to the selected frame.  The frame is created on the
same terminal as FRAME.  If the terminal is a text-only terminal then
also select the new frame."
  (interactive "i\nP")
  (if no-clone
      (make-frame-command)
    (let* ((default-frame-alist  (frame-parameters frame))
           (new-fr  (make-frame)))
      (unless (if (fboundp 'display-graphic-p) (display-graphic-p) window-system)
        (select-frame new-fr)))))




This bug report was last modified 3 years and 259 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.