bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#61496: 30.0.50; Default value of icon-title-format


From: Óscar Fuentes
Subject: bug#61496: 30.0.50; Default value of icon-title-format
Date: Tue, 14 Feb 2023 01:02:04 +0100

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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]