diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dispextern.h | 1 | ||||
| -rw-r--r-- | src/frame.h | 24 | ||||
| -rw-r--r-- | src/xdisp.c | 2 |
3 files changed, 24 insertions, 3 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index 910f630a50c..c7399ca2998 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3470,6 +3470,7 @@ extern void expose_frame (struct frame *, int, int, int, int); | |||
| 3470 | extern bool gui_intersect_rectangles (const Emacs_Rectangle *, | 3470 | extern bool gui_intersect_rectangles (const Emacs_Rectangle *, |
| 3471 | const Emacs_Rectangle *, | 3471 | const Emacs_Rectangle *, |
| 3472 | Emacs_Rectangle *); | 3472 | Emacs_Rectangle *); |
| 3473 | extern void gui_consider_frame_title (Lisp_Object); | ||
| 3473 | #endif /* HAVE_WINDOW_SYSTEM */ | 3474 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 3474 | 3475 | ||
| 3475 | extern void note_mouse_highlight (struct frame *, int, int); | 3476 | extern void note_mouse_highlight (struct frame *, int, int); |
diff --git a/src/frame.h b/src/frame.h index a164853e09d..458b6257e49 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -1293,8 +1293,28 @@ SET_FRAME_VISIBLE (struct frame *f, int v) | |||
| 1293 | } | 1293 | } |
| 1294 | 1294 | ||
| 1295 | /* Set iconified status of frame F. */ | 1295 | /* Set iconified status of frame F. */ |
| 1296 | #define SET_FRAME_ICONIFIED(f, i) \ | 1296 | INLINE void |
| 1297 | (f)->iconified = (eassert (0 <= (i) && (i) <= 1), (i)) | 1297 | SET_FRAME_ICONIFIED (struct frame *f, int i) |
| 1298 | { | ||
| 1299 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 1300 | Lisp_Object frame; | ||
| 1301 | #endif | ||
| 1302 | |||
| 1303 | eassert (0 <= (i) && (i) <= 1); | ||
| 1304 | |||
| 1305 | f->iconified = i; | ||
| 1306 | |||
| 1307 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 1308 | /* Iconifying a frame might cause the frame title to change if no | ||
| 1309 | title was explicitly specified. Force the frame title to be | ||
| 1310 | recomputed. */ | ||
| 1311 | |||
| 1312 | XSETFRAME (frame, f); | ||
| 1313 | |||
| 1314 | if (FRAME_WINDOW_P (f)) | ||
| 1315 | gui_consider_frame_title (frame); | ||
| 1316 | #endif | ||
| 1317 | } | ||
| 1298 | 1318 | ||
| 1299 | extern Lisp_Object selected_frame; | 1319 | extern Lisp_Object selected_frame; |
| 1300 | extern Lisp_Object old_selected_frame; | 1320 | extern Lisp_Object old_selected_frame; |
diff --git a/src/xdisp.c b/src/xdisp.c index 07324815d90..2245326b0d8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -13148,7 +13148,7 @@ store_mode_line_noprop (const char *string, int field_width, int precision) | |||
| 13148 | Vicon_title_format if FRAME is iconified, otherwise it is | 13148 | Vicon_title_format if FRAME is iconified, otherwise it is |
| 13149 | frame_title_format. */ | 13149 | frame_title_format. */ |
| 13150 | 13150 | ||
| 13151 | static void | 13151 | void |
| 13152 | gui_consider_frame_title (Lisp_Object frame) | 13152 | gui_consider_frame_title (Lisp_Object frame) |
| 13153 | { | 13153 | { |
| 13154 | struct frame *f = XFRAME (frame); | 13154 | struct frame *f = XFRAME (frame); |