all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#61496: 30.0.50; Default value of icon-title-format
@ 2023-02-14  0:02 Óscar Fuentes
  2023-02-14  9:20 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-02-14 12:18 ` Eli Zaretskii
  0 siblings, 2 replies; 15+ messages in thread
From: Óscar Fuentes @ 2023-02-14  0:02 UTC (permalink / raw)
  To: 61496


AFAIK icon-title-format was broken since long time ago (possibly for
several major releases) and it was fixed recently.

I propose that its default value should be nil, and interpret that value
as "same as frame-title-format". That's why:

1. The case of having an specific frame title when it is iconified seems
   to me as way less frequent than expecting that the frame keeps the
   same title.

2. After upgrading to Emacs 29, users that set frame-title-format will
   see how frames change their title when iconified.

3. There are mechanisms for applying settings or performing actions
   depending on the title of a frame (KDE Window Rules and scripts based
   on xdotool, for instance.) For keeping those mechanisms on a working
   state with Emacs 29, the user must ensure that either it keeps
   icon-title-format synced with frame-title-format and/or his scripts
   must be adapted. Without that, any config that depends on the
   content's of the frame title will be broken (unless the user already
   set icon-title-format, but it would be surprising if he did, as that
   setting had no effect until now.)

Having a working icon-title-format, in practice, is a new feature, so
defining a new default for it shouldn't have any impact. Certainly, it
will not have a visible effect compared to recent Emacs releases.
However, keeping its current default value may cause confusion and
breakage for any user that sets frame-title-format on his config.

The required change in code is simple enough:

src/xdisp.c | 3 ++-

modified   src/xdisp.c
@@ -13424,7 +13424,8 @@ gui_consider_frame_title (Lisp_Object frame)
 
       Fselect_window (f->selected_window, Qt);
       set_buffer_internal_1 (XBUFFER (XWINDOW (f->selected_window)->contents));
-      fmt = FRAME_ICONIFIED_P (f) ? Vicon_title_format : Vframe_title_format;
+      fmt = FRAME_ICONIFIED_P (f) && !NILP (Vicon_title_format) ?
+	Vicon_title_format : Vframe_title_format;
 
       mode_line_target = MODE_LINE_TITLE;
       title_start = MODE_LINE_NOPROP_LEN (0);

... plus a trivial doc change on its DEFVAR_LISP and initialization.

If this proposal is acceptable, it should be applied to Emacs 29, to
avoid putting ourselves on a similar scenario when Emacs 30 is released.





^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-02-17  7:46 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-14  0:02 bug#61496: 30.0.50; Default value of icon-title-format Óscar Fuentes
2023-02-14  9:20 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-14 12:18 ` Eli Zaretskii
2023-02-14 13:35   ` Óscar Fuentes
2023-02-14 14:13     ` Eli Zaretskii
2023-02-14 14:32       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-14 14:42         ` Eli Zaretskii
2023-02-14 14:57           ` Óscar Fuentes
2023-02-14 17:29             ` Eli Zaretskii
     [not found]               ` <87o7pto9zb.fsf@bernoul.li>
2023-02-16 16:44                 ` Eli Zaretskii
2023-02-16 17:09                 ` Eli Zaretskii
2023-02-17  1:10                   ` Óscar Fuentes
2023-02-17  2:47                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-17  7:46                       ` Eli Zaretskii
2023-02-14 14:50       ` Óscar Fuentes

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.