Commit b36ba568 authored by Anders Lindgren's avatar Anders Lindgren
Browse files

Fixed a toolbar related issue on OS X.

Earlier, when toggling the tool-bar in a maximized frame, the
frame size didn't match the number of text lines, leaving an
unused area at the bottom of the frame.

* nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
fullscreen modes when tool bar is disabled.
parent 63e6f4c8
...@@ -648,6 +648,11 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side ...@@ -648,6 +648,11 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
void void
x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
{ {
/* Currently, when the tool bar change state, the frame is resized.
TODO: It would be better if this didn't occur when 1) the frame
is full height or maximized or 2) when specified by
`frame-inhibit-implied-resize'. */
int nlines; int nlines;
if (FRAME_MINIBUF_ONLY_P (f)) if (FRAME_MINIBUF_ONLY_P (f))
...@@ -669,7 +674,21 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side ...@@ -669,7 +674,21 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
{ {
free_frame_tool_bar (f); free_frame_tool_bar (f);
FRAME_EXTERNAL_TOOL_BAR (f) = 0; FRAME_EXTERNAL_TOOL_BAR (f) = 0;
}
{
EmacsView *view = FRAME_NS_VIEW (f);
int fs_state = [view fullscreenState];
if (fs_state == FULLSCREEN_MAXIMIZED)
{
[view setFSValue:FULLSCREEN_WIDTH];
}
else if (fs_state == FULLSCREEN_HEIGHT)
{
[view setFSValue:FULLSCREEN_NONE];
}
}
}
} }
{ {
...@@ -680,8 +699,6 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side ...@@ -680,8 +699,6 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|| (CONSP (frame_inhibit_implied_resize) || (CONSP (frame_inhibit_implied_resize)
&& !NILP (Fmemq (Qtool_bar_lines, && !NILP (Fmemq (Qtool_bar_lines,
frame_inhibit_implied_resize)))) frame_inhibit_implied_resize))))
/* This will probably fail to DTRT in the
fullheight/-width cases. */
&& NILP (get_frame_param (f, Qfullscreen))) && NILP (get_frame_param (f, Qfullscreen)))
? 0 ? 0
: 2); : 2);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment