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.
This commit is contained in:
parent
63e6f4c820
commit
b36ba568a9
1 changed files with 20 additions and 3 deletions
23
src/nsfns.m
23
src/nsfns.m
|
@ -648,6 +648,11 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
void
|
||||
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;
|
||||
|
||||
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
|
|||
{
|
||||
free_frame_tool_bar (f);
|
||||
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
|
|||
|| (CONSP (frame_inhibit_implied_resize)
|
||||
&& !NILP (Fmemq (Qtool_bar_lines,
|
||||
frame_inhibit_implied_resize))))
|
||||
/* This will probably fail to DTRT in the
|
||||
fullheight/-width cases. */
|
||||
&& NILP (get_frame_param (f, Qfullscreen)))
|
||||
? 0
|
||||
: 2);
|
||||
|
|
Loading…
Add table
Reference in a new issue