diff --git a/src/frame.c b/src/frame.c index 0a6ca26..8076eba 100644 --- a/src/frame.c +++ b/src/frame.c @@ -779,6 +779,8 @@ struct frame * unblock_input (); + run_window_configuration_change_hook (f); + #ifdef HAVE_WINDOW_SYSTEM { /* Adjust size of F's child frames. */ diff --git a/src/window.c b/src/window.c index 9026a7b..ef88fde 100644 --- a/src/window.c +++ b/src/window.c @@ -57,7 +57,6 @@ static bool foreach_window_1 (struct window *, static bool window_resize_check (struct window *, bool); static void window_resize_apply (struct window *, bool); static void select_window_1 (Lisp_Object, bool); -static void run_window_configuration_change_hook (struct frame *); static struct window *set_window_fringes (struct window *, Lisp_Object, Lisp_Object, Lisp_Object); @@ -3319,7 +3318,7 @@ depends on the value of (window-start WINDOW), so if calling this Fselect_frame (frame, Qt); } -static void +void run_window_configuration_change_hook (struct frame *f) { ptrdiff_t count = SPECPDL_INDEX (); diff --git a/src/window.h b/src/window.h index 629283a..bc6d8ab 100644 --- a/src/window.h +++ b/src/window.h @@ -1016,6 +1016,7 @@ extern Lisp_Object window_from_coordinates (struct frame *, int, int, extern void shrink_mini_window (struct window *, bool); extern int window_relative_x_coord (struct window *, enum window_part, int); +void run_window_configuration_change_hook (struct frame *f); void run_window_size_change_functions (Lisp_Object); /* Make WINDOW display BUFFER. RUN_HOOKS_P means it's allowed diff --git a/src/xfns.c b/src/xfns.c index 1381fee..574f0bb 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -1599,4 +1599,5 @@ struct mouse_cursor_data { } #endif /* not USE_X_TOOLKIT && not USE_GTK */ adjust_frame_glyphs (f); + run_window_configuration_change_hook (f); }