summaryrefslogtreecommitdiff
path: root/src/frame.h
diff options
context:
space:
mode:
authorMartin Rudalics <rudalics@gmx.at>2015-01-12 08:18:00 +0100
committerMartin Rudalics <rudalics@gmx.at>2015-01-12 08:18:00 +0100
commitfb35f1f715da1a931204894b132d7fb6eee0f361 (patch)
treedfbedd451cf16a9b6f92bdb551e23b262f110fdb /src/frame.h
parentd703a4dce564ede122f5c307889e4bd0e3f3e75c (diff)
downloademacs-fb35f1f715da1a931204894b132d7fb6eee0f361.tar.gz
Adjust frame heights to real height of tool bar.
* frame.el (frame-notice-user-settings): Remove code dealing with frame-initial-frame-tool-bar-height. Turn off `tool-bar-mode' only if `window-system-frame-alist' or `default-frame-alist' ask for it. (make-frame): Update frame-adjust-size-history if needed. * dispnew.c (change_frame_size_1): Pass Qchange_frame_size to adjust_frame_size. * frame.c (frame_default_tool_bar_height): New variable. (adjust_frame_size): Possibly add requested adjustment to Vframe_adjust_size_history. (make_frame): Initialize tool_bar_redisplayed_once slot. (Fset_frame_height, Fset_frame_width, Fset_frame_size): Clarify doc-string. Call adjust_frame_size unconditionally (the frame's text size may remain unaltered but the pixel size may change). (x_figure_window_size): If frame_default_tool_bar_height was set, use it instead of calculating the tool bar height from DEFAULT_TOOL_BAR_IMAGE_HEIGHT. Don't set Vframe_initial_frame_tool_bar_height. (Qchange_frame_size, Qxg_frame_set_char_size) (Qset_window_configuration, Qx_create_frame_1) (Qx_create_frame_2): New symbols. (Vframe_initial_frame_tool_bar_height): Remove. (Vframe_adjust_size_history): New history variable for debugging frame size adjustments. * frame.h (struct frame): New boolean slot tool_bar_redisplayed_once. (frame_default_tool_bar_height): Extern. * gtkutil.c (xg_frame_set_char_size): Pass Qxg_frame_set_char_size to adjust_frame_size. * nsfns.m (Fx_create_frame): Pass Pass Qx_create_frame_1 and Qx_create_frame_2 to adjust_frame_size. * w32fns.c (x_change_tool_bar_height): Call adjust_frame_size with inhibit 1 when we have not redisplayed the tool bar yet. (Fx_create_frame): Pass Pass Qx_create_frame_1 and Qx_create_frame_2 to adjust_frame_size. * w32menu.c (set_frame_menubar): Simplify adjust_frame_size call. * window.c (Fset_window_configuration): Pass Qset_window_configuration to adjust_frame_size. * xdisp.c (redisplay_tool_bar): Assign new height to frame_default_tool_bar_height. (redisplay_internal): If we haven't redisplayed this frame's tool bar, call redisplay_tool_bar early so we can adjust the frame size accordingly. * xfns.c (x_change_tool_bar_height): Call adjust_frame_size with inhibit 1 when we have not redisplayed the tool bar yet. (Fx_create_frame): Pass Pass Qx_create_frame_1 and Qx_create_frame_2 to adjust_frame_size.
Diffstat (limited to 'src/frame.h')
-rw-r--r--src/frame.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/frame.h b/src/frame.h
index d1ed4d4a67e..cb0044cfe23 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -336,6 +336,10 @@ struct frame
for this frame. */
bool_bf can_run_window_configuration_change_hook : 1;
+ /* True means tool bar has been redisplayed at least once in current
+ session. */
+ bool_bf tool_bar_redisplayed_once : 1;
+
/* Bitfield area ends here. */
/* Number of lines (rounded up) of tool bar. REMOVE THIS */
@@ -1096,6 +1100,8 @@ SET_FRAME_VISIBLE (struct frame *f, int v)
extern Lisp_Object selected_frame;
+extern int frame_default_tool_bar_height;
+
extern struct frame *decode_window_system_frame (Lisp_Object);
extern struct frame *decode_live_frame (Lisp_Object);
extern struct frame *decode_any_frame (Lisp_Object);