Subject: Iconifying a frame changes its title

From: Jonas Bernoulli <[email-masked]>
Date: Wed, 15 Feb 2023 20:36:11 +0100

Hello,

For the longest time I used "%b" as frame-title-format.  Now that I have
changed it to something more complex, I noticed that it is not respected
for iconified frames.

  (mapcar (lambda (f) (list (frame-visible-p f) (frame-parameter f 'name) f))
          (frame-list))

  ((t "/home/jonas/.config/emacs/custom.el"
      #<frame /home/jonas/.config/emacs/custom.el 0x7d386d8>)
   (icon "init.el" #<frame init.el 0x1a8e850>))

You might be wondering how I even noticed this.

I use a tiling window manager, i3wm.  Usually I arrange windows in
multiple columns, where each column "holds" multiple windows, but
displays only one of them at a time.  At the top of such a column the
titles of all the window that it holds is displayed, followed by the one
window that is actually being displayed.  So while the other windows are
not displayed, their title is still displayed.  i3wm iconifies the
windows that are not being displayed.

Unfortunately that means that Emacs changes the visible titles of the
iconified frames.  So, given "%f" as frame-title-format, I see, e.g.:

  [init.el                              ]   # title of an iconified window
  [/home/jonas/.config/emacs/custom.el  ]   # title of the displayed window
  |(custom-set-variables                |   # the column's displayed window
  |  ...)                               |

instead of

  [/home/jonas/.config/emacs/init.el    ]
  [/home/jonas/.config/emacs/custom.el  ]
  |(custom-set-variables                |
  |  ...)                               |

Is there a knob, that I am not aware of, to control this?
If not, please consider adding one.

     Thanks!
     Jonas