diff options
| author | Martin Rudalics | 2014-03-14 11:38:46 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2014-03-14 11:38:46 +0100 |
| commit | cfd5e825ae51150889b3a5d1b46d617cdab85b23 (patch) | |
| tree | 8ba3f46a76a4a0ebb83f3ca7a37d66142ae265d3 /doc/lispref | |
| parent | 56759cf12aeea9a51020ad19784d6ca6c55ab36e (diff) | |
| download | emacs-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/ChangeLog | 8 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 11 | ||||
| -rw-r--r-- | doc/lispref/frames.texi | 55 |
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 @@ | |||
| 1 | 2014-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 | |||
| 1 | 2014-03-09 Martin Rudalics <rudalics@gmx.at> | 9 | 2014-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{} |
| 1178 | This macro is similar to @code{with-output-to-temp-buffer}. | 1178 | This macro is similar to @code{with-output-to-temp-buffer}. Like that |
| 1179 | Like that construct, it executes @var{forms} while arranging to insert | 1179 | construct, it executes @var{forms} while arranging to insert any output |
| 1180 | any output they print into the buffer named @var{buffer-or-name}. | 1180 | they print into the buffer named @var{buffer-or-name} and displays the |
| 1181 | Finally, the buffer is displayed in some window, but not selected. | 1181 | buffer in some window. Unlike @code{with-output-to-temp-buffer}, |
| 1182 | Unlike @code{with-output-to-temp-buffer}, this does not switch to Help | 1182 | however, this makes the buffer current and does not switch to Help mode. |
| 1183 | mode. | ||
| 1184 | 1183 | ||
| 1185 | The argument @var{buffer-or-name} specifies the temporary buffer. | 1184 | The argument @var{buffer-or-name} specifies the temporary buffer. |
| 1186 | It can be either a buffer, which must already exist, or a string, | 1185 | It 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 | |||
| 1147 | frame. | 1147 | frame. |
| 1148 | @end defun | 1148 | @end defun |
| 1149 | 1149 | ||
| 1150 | @defun set-frame-size frame cols rows | 1150 | @defopt frame-resize-pixelwise |
| 1151 | If this option is @code{nil}, a frame's size is usually rounded to a | ||
| 1152 | multiple of the current values of that frame's @code{frame-char-height} | ||
| 1153 | and @code{frame-char-width}. If this is non-@code{nil}, no rounding | ||
| 1154 | occurs, hence frame sizes can increase/decrease by one pixel. | ||
| 1155 | |||
| 1156 | Setting this causes the next resize operation to pass the corresponding | ||
| 1157 | size hints to the window manager. This means that this variable should | ||
| 1158 | be set only in a user's initial file; applications should never bind it | ||
| 1159 | temporarily. | ||
| 1160 | |||
| 1161 | The precise semantics of a value of @code{nil} for this option depends | ||
| 1162 | on the toolkit used: Dragging the frame border with the mouse is usually | ||
| 1163 | always done character-wise. Calling @code{set-frame-size} (see below) | ||
| 1164 | with arguments that do not specify the frame size as an integer multiple | ||
| 1165 | of its character size may be, however, either ignored or cause a | ||
| 1166 | rounding (GTK+, Windows) or get accepted (Lucid, Motif). This also | ||
| 1167 | means that with some toolkits and a display whose size is not an | ||
| 1168 | integral multiple of your default font, you may have to set this to | ||
| 1169 | non-@code{nil} in order to fully maximize a frame. | ||
| 1170 | @end defopt | ||
| 1171 | |||
| 1172 | @defun set-frame-size frame width height pixelwise | ||
| 1151 | This function sets the size of @var{frame}, measured in characters; | 1173 | This 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 |
| 1175 | new height in lines. | ||
| 1153 | 1176 | ||
| 1154 | To set the size based on values measured in pixels, use | 1177 | The optional argument @var{pixelwise} non-@code{nil} means to measure |
| 1155 | @code{frame-char-height} and @code{frame-char-width} to convert | 1178 | the new width and height in units of pixels instead. Note that if |
| 1156 | them to units of characters. | 1179 | @code{frame-resize-pixelwise} is @code{nil}, some toolkits may refuse to |
| 1180 | fully honor the request if it does not increase/decrease the frame size | ||
| 1181 | to 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 |
| 1160 | This function resizes @var{frame} to a height of @var{lines} lines. The | 1185 | This function resizes @var{frame} to a height of @var{height} lines. The |
| 1161 | sizes of existing windows in @var{frame} are altered proportionally to | 1186 | sizes of existing windows in @var{frame} are altered proportionally to |
| 1162 | fit. | 1187 | fit. |
| 1163 | 1188 | ||
| 1164 | If @var{pretend} is non-@code{nil}, then Emacs displays @var{lines} | 1189 | If @var{pretend} is non-@code{nil}, then Emacs displays @var{height} |
| 1165 | lines of output in @var{frame}, but does not change its value for the | 1190 | lines of output in @var{frame}, but does not change its value for the |
| 1166 | actual height of the frame. This is only useful on text terminals. | 1191 | actual height of the frame. This is only useful on text terminals. |
| 1167 | Using a smaller height than the terminal actually implements may be | 1192 | Using a smaller height than the terminal actually implements may be |
| @@ -1170,12 +1195,24 @@ terminal malfunctions when using its whole screen. Setting the frame | |||
| 1170 | height ``for real'' does not always work, because knowing the correct | 1195 | height ``for real'' does not always work, because knowing the correct |
| 1171 | actual size may be necessary for correct cursor positioning on | 1196 | actual size may be necessary for correct cursor positioning on |
| 1172 | text terminals. | 1197 | text terminals. |
| 1198 | |||
| 1199 | The 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 | ||
| 1202 | fully honor the request if it does not increase/decrease the frame | ||
| 1203 | height 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 |
| 1176 | This function sets the width of @var{frame}, measured in characters. | 1207 | This function sets the width of @var{frame}, measured in characters. |
| 1177 | The argument @var{pretend} has the same meaning as in | 1208 | The argument @var{pretend} has the same meaning as in |
| 1178 | @code{set-frame-height}. | 1209 | @code{set-frame-height}. |
| 1210 | |||
| 1211 | The 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 | ||
| 1214 | fully honor the request if it does not increase/decrease the frame width | ||
| 1215 | to 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? |