aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref
diff options
context:
space:
mode:
authorMartin Rudalics2014-03-14 11:38:46 +0100
committerMartin Rudalics2014-03-14 11:38:46 +0100
commitcfd5e825ae51150889b3a5d1b46d617cdab85b23 (patch)
tree8ba3f46a76a4a0ebb83f3ca7a37d66142ae265d3 /doc/lispref
parent56759cf12aeea9a51020ad19784d6ca6c55ab36e (diff)
downloademacs-cfd5e825ae51150889b3a5d1b46d617cdab85b23.tar.gz
emacs-cfd5e825ae51150889b3a5d1b46d617cdab85b23.zip
Document pixelwise frame resizing and fix related bug on Windows.
* w32term.c (x_set_window_size): When frame-resize-pixelwise is nil, always resize character wise to avoid potential loss of the mode line (Bug#16923 related). * display.texi (Temporary Displays): Say that with-temp-buffer-window makes its buffer current. * frames.texi (Size and Position): Describe new option `frame-resize-pixelwise'. Rewrite descriptions of `set-frame-size', `set-frame-height' and `set-frame-width'.
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/ChangeLog8
-rw-r--r--doc/lispref/display.texi11
-rw-r--r--doc/lispref/frames.texi55
3 files changed, 59 insertions, 15 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 274d9fa4fea..047a7c6f3b7 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,11 @@
12014-03-14 Martin Rudalics <rudalics@gmx.at>
2
3 * display.texi (Temporary Displays): Say that
4 with-temp-buffer-window makes its buffer current.
5 * frames.texi (Size and Position): Describe new option
6 `frame-resize-pixelwise'. Rewrite descriptions of
7 `set-frame-size', `set-frame-height' and `set-frame-width'.
8
12014-03-09 Martin Rudalics <rudalics@gmx.at> 92014-03-09 Martin Rudalics <rudalics@gmx.at>
2 10
3 * elisp.texi (Top): Rename section "Width" to "Size of Displayed 11 * elisp.texi (Top): Rename section "Width" to "Size of Displayed
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index bffb840bfeb..5037f0c9032 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -1175,12 +1175,11 @@ is current, and the window it was displayed in is selected.
1175@end defvar 1175@end defvar
1176 1176
1177@defmac with-temp-buffer-window buffer-or-name action quit-function forms@dots{} 1177@defmac with-temp-buffer-window buffer-or-name action quit-function forms@dots{}
1178This macro is similar to @code{with-output-to-temp-buffer}. 1178This macro is similar to @code{with-output-to-temp-buffer}. Like that
1179Like that construct, it executes @var{forms} while arranging to insert 1179construct, it executes @var{forms} while arranging to insert any output
1180any output they print into the buffer named @var{buffer-or-name}. 1180they print into the buffer named @var{buffer-or-name} and displays the
1181Finally, the buffer is displayed in some window, but not selected. 1181buffer in some window. Unlike @code{with-output-to-temp-buffer},
1182Unlike @code{with-output-to-temp-buffer}, this does not switch to Help 1182however, this makes the buffer current and does not switch to Help mode.
1183mode.
1184 1183
1185The argument @var{buffer-or-name} specifies the temporary buffer. 1184The argument @var{buffer-or-name} specifies the temporary buffer.
1186It can be either a buffer, which must already exist, or a string, 1185It can be either a buffer, which must already exist, or a string,
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 206f14e751e..59881afb903 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1147,21 +1147,46 @@ font. If you don't supply @var{frame}, these functions use the selected
1147frame. 1147frame.
1148@end defun 1148@end defun
1149 1149
1150@defun set-frame-size frame cols rows 1150@defopt frame-resize-pixelwise
1151If this option is @code{nil}, a frame's size is usually rounded to a
1152multiple of the current values of that frame's @code{frame-char-height}
1153and @code{frame-char-width}. If this is non-@code{nil}, no rounding
1154occurs, hence frame sizes can increase/decrease by one pixel.
1155
1156Setting this causes the next resize operation to pass the corresponding
1157size hints to the window manager. This means that this variable should
1158be set only in a user's initial file; applications should never bind it
1159temporarily.
1160
1161The precise semantics of a value of @code{nil} for this option depends
1162on the toolkit used: Dragging the frame border with the mouse is usually
1163always done character-wise. Calling @code{set-frame-size} (see below)
1164with arguments that do not specify the frame size as an integer multiple
1165of its character size may be, however, either ignored or cause a
1166rounding (GTK+, Windows) or get accepted (Lucid, Motif). This also
1167means that with some toolkits and a display whose size is not an
1168integral multiple of your default font, you may have to set this to
1169non-@code{nil} in order to fully maximize a frame.
1170@end defopt
1171
1172@defun set-frame-size frame width height pixelwise
1151This function sets the size of @var{frame}, measured in characters; 1173This function sets the size of @var{frame}, measured in characters;
1152@var{cols} and @var{rows} specify the new width and height. 1174@var{width} and @var{height} specify the new width in columns and the
1175new height in lines.
1153 1176
1154To set the size based on values measured in pixels, use 1177The optional argument @var{pixelwise} non-@code{nil} means to measure
1155@code{frame-char-height} and @code{frame-char-width} to convert 1178the new width and height in units of pixels instead. Note that if
1156them to units of characters. 1179@code{frame-resize-pixelwise} is @code{nil}, some toolkits may refuse to
1180fully honor the request if it does not increase/decrease the frame size
1181to a multiple of its character size.
1157@end defun 1182@end defun
1158 1183
1159@defun set-frame-height frame lines &optional pretend 1184@defun set-frame-height frame height &optional pretend pixelwise
1160This function resizes @var{frame} to a height of @var{lines} lines. The 1185This function resizes @var{frame} to a height of @var{height} lines. The
1161sizes of existing windows in @var{frame} are altered proportionally to 1186sizes of existing windows in @var{frame} are altered proportionally to
1162fit. 1187fit.
1163 1188
1164If @var{pretend} is non-@code{nil}, then Emacs displays @var{lines} 1189If @var{pretend} is non-@code{nil}, then Emacs displays @var{height}
1165lines of output in @var{frame}, but does not change its value for the 1190lines of output in @var{frame}, but does not change its value for the
1166actual height of the frame. This is only useful on text terminals. 1191actual height of the frame. This is only useful on text terminals.
1167Using a smaller height than the terminal actually implements may be 1192Using a smaller height than the terminal actually implements may be
@@ -1170,12 +1195,24 @@ terminal malfunctions when using its whole screen. Setting the frame
1170height ``for real'' does not always work, because knowing the correct 1195height ``for real'' does not always work, because knowing the correct
1171actual size may be necessary for correct cursor positioning on 1196actual size may be necessary for correct cursor positioning on
1172text terminals. 1197text terminals.
1198
1199The optional fourth argument @var{pixelwise} non-@code{nil} means that
1200@var{frame} should be @var{height} pixels high. Note that if
1201@code{frame-resize-pixelwise} is @code{nil}, some toolkits may refuse to
1202fully honor the request if it does not increase/decrease the frame
1203height to a multiple of its character height.
1173@end defun 1204@end defun
1174 1205
1175@defun set-frame-width frame width &optional pretend 1206@defun set-frame-width frame width &optional pretend pixelwise
1176This function sets the width of @var{frame}, measured in characters. 1207This function sets the width of @var{frame}, measured in characters.
1177The argument @var{pretend} has the same meaning as in 1208The argument @var{pretend} has the same meaning as in
1178@code{set-frame-height}. 1209@code{set-frame-height}.
1210
1211The optional fourth argument @var{pixelwise} non-@code{nil} means that
1212@var{frame} should be @var{width} pixels wide. Note that if
1213@code{frame-resize-pixelwise} is @code{nil}, some toolkits may refuse to
1214fully honor the request if it does not increase/decrease the frame width
1215to a multiple of its character width.
1179@end defun 1216@end defun
1180 1217
1181@c FIXME? Belongs more in Emacs manual than here? 1218@c FIXME? Belongs more in Emacs manual than here?