Subject: bug#32736: 26; Bind `C-x 5 2' to `clone-frame' by default

From: Robert Pluim <[email-masked]>
Date: Fri, 14 Sep 2018 20:57:54 +0200

Drew Adams <[email-masked]> writes:

> 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.

> (defun clone-frame (&optional frame)
>   "Make a new frame with the same parameters as FRAME.
> 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)
>   (let* ((default-frame-alist  (frame-parameters frame))
>          (new-fr  (make-frame)))
>     (unless (display-graphic-p) (select-frame new-fr))))

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)?

Robert