Merge from emacs-24; up to 2014-07-22T06:37:31Z!yamaoka@jpl.org
This commit is contained in:
commit
32ade3f01a
11 changed files with 155 additions and 26 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-10-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* package.texi (Package Menu): The package list was changed to not
|
||||
say "unsigned" any more.
|
||||
|
||||
2014-10-05 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* misc.texi (Sorting):
|
||||
|
|
|
@ -60,7 +60,7 @@ The package's version number (e.g., @samp{11.86}).
|
|||
@item
|
||||
The package's status---normally one of @samp{available} (can be
|
||||
downloaded from the package archive), @samp{installed},
|
||||
@samp{unsigned} (installed, but not signed; @pxref{Package Signing}),
|
||||
@c @samp{unsigned} (installed, but not signed; @pxref{Package Signing}),
|
||||
or @samp{built-in} (included in Emacs by default).
|
||||
|
||||
The status can also be @samp{new}. This is equivalent to
|
||||
|
|
|
@ -1,3 +1,20 @@
|
|||
2014-10-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* frames.texi (Multiple Terminals): Copyedits.
|
||||
|
||||
2014-10-09 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* frames.texi (Multiple Terminals): Improve the description of X
|
||||
display names. Add index entries.
|
||||
(Basic Parameters): Add a cross-reference to where X display names
|
||||
are described.
|
||||
(Position Parameters): Mention that positional parameters of the
|
||||
form (+ POS) can be negative if they are on a non-primary monitor
|
||||
of a multi-monitor display. (Bug#18636)
|
||||
(Creating Frames): Mention that on multi-monitor displays the
|
||||
frame might be positioned differently than specified by the frame
|
||||
parameters alist.
|
||||
|
||||
2014-10-08 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* streams.texi (Output Functions): Document new argument ENSURE to
|
||||
|
|
|
@ -131,6 +131,13 @@ applies any parameters listed in @code{frame-inherited-parameters}
|
|||
(see below) and not present in the argument, taking the values from
|
||||
the frame that was selected when @code{make-frame} was called.
|
||||
|
||||
Note that on multi-monitor displays (@pxref{Multiple Terminals}), the
|
||||
window manager might position the frame differently than specified by
|
||||
the positional parameters in @var{alist} (@pxref{Position
|
||||
Parameters}). For example, some window managers have a policy of
|
||||
displaying the frame on the monitor that contains the largest part of
|
||||
the window (a.k.a.@: the @dfn{dominating} monitor).
|
||||
|
||||
This function itself does not make the new frame the selected frame.
|
||||
@xref{Input Focus}. The previously selected frame remains selected.
|
||||
On graphical terminals, however, the windowing system may select the
|
||||
|
@ -258,13 +265,27 @@ of those frames is ``@emph{the} selected frame'' at any given moment
|
|||
terminals, by interacting with the @command{emacsclient} program.
|
||||
@xref{Emacs Server,,, emacs, The GNU Emacs Manual}.
|
||||
|
||||
@cindex X display names
|
||||
@cindex display name on X
|
||||
A single X server can handle more than one display. Each X display
|
||||
has a three-part name, @samp{@var{host}:@var{server}.@var{screen}}.
|
||||
The first two parts, @var{host} and @var{server}, identify the X
|
||||
server; the third part, @var{screen}, identifies a screen number on
|
||||
that X server. When you use two or more screens belonging to one
|
||||
server, Emacs knows by the similarity in their names that they share a
|
||||
single keyboard.
|
||||
has a three-part name,
|
||||
@samp{@var{hostname}:@var{displaynumber}.@var{screennumber}}. The
|
||||
first part, @var{hostname}, specifies the name of the machine to which
|
||||
the display is physically connected. The second part,
|
||||
@var{displaynumber}, is a zero-based number that identifies one or
|
||||
more monitors connected to that machine that share a common keyboard
|
||||
and pointing device (mouse, tablet, etc.). The third part,
|
||||
@var{screennumber}, identifies a zero-based screen number (a separate
|
||||
monitor) that is part of a single monitor collection on that X server.
|
||||
When you use two or more screens belonging to one server, Emacs knows
|
||||
by the similarity in their names that they share a single keyboard.
|
||||
|
||||
Systems that don't use the X window system, such as MS-Windows,
|
||||
don't support the notion of X displays, and have only one display on
|
||||
each host. The display name on these systems doesn't follow the above
|
||||
3-part format; for example, the display name on MS-Windows systems is
|
||||
a constant string @samp{w32}, and exists for compatibility, so that
|
||||
you could pass it to functions that expect a display name.
|
||||
|
||||
@deffn Command make-frame-on-display display &optional parameters
|
||||
This function creates and returns a new frame on @var{display}, taking
|
||||
|
@ -320,19 +341,29 @@ to obtain information about such setups.
|
|||
|
||||
@defun display-monitor-attributes-list &optional display
|
||||
This function returns a list of physical monitor attributes on
|
||||
@var{display}, which defaults to that of the selected frame.
|
||||
Each element of the list is an association list, representing the
|
||||
attributes of a physical monitor. The first element corresponds to
|
||||
the primary monitor. The attribute keys and values are:
|
||||
@var{display}, which can be a display name (a string), a terminal, or
|
||||
a frame; if omitted or @code{nil}, it defaults to the selected frame's
|
||||
display. Each element of the list is an association list,
|
||||
representing the attributes of a physical monitor. The first element
|
||||
corresponds to the primary monitor. The attribute keys and values
|
||||
are:
|
||||
|
||||
@table @samp
|
||||
@item geometry
|
||||
Position and size in pixels as @samp{(@var{x} @var{y}
|
||||
@var{width} @var{height})}.
|
||||
Position of the top-left corner of the monitor's screen and its size,
|
||||
in pixels, as @samp{(@var{x} @var{y} @var{width} @var{height})}. Note
|
||||
that, if the monitor is not the primary monitor, some of the
|
||||
coordinates might be negative.
|
||||
|
||||
@item workarea
|
||||
Position and size of the work area in pixels as
|
||||
@samp{(@var{x} @var{y} @var{width} @var{height})}.
|
||||
Position of the top-left corner and size of the work area (``usable''
|
||||
space) in pixels as @samp{(@var{x} @var{y} @var{width} @var{height})}.
|
||||
This may be different from @samp{geometry} in that space occupied by
|
||||
various window manager features (docks, taskbars, etc.) may be
|
||||
excluded from the work area. Whether or not such features actually
|
||||
subtract from the work area depends on the platform and environment.
|
||||
Again, if the monitor is not the primary monitor, some of the
|
||||
coordinates might be negative.
|
||||
|
||||
@item mm-size
|
||||
Width and height in millimeters as @samp{(@var{width} @var{height})}
|
||||
|
@ -342,10 +373,14 @@ List of frames that this physical monitor dominates (see below).
|
|||
|
||||
@item name
|
||||
Name of the physical monitor as @var{string}.
|
||||
|
||||
@item source
|
||||
Source of the multi-monitor information as @var{string};
|
||||
e.g., @samp{XRandr} or @samp{Xinerama}.
|
||||
@end table
|
||||
|
||||
@var{x}, @var{y}, @var{width}, and @var{height} are integers.
|
||||
@samp{name} may not be present.
|
||||
@samp{name} and @samp{source} may be absent.
|
||||
|
||||
A frame is @dfn{dominated} by a physical monitor when either the
|
||||
largest area of the frame resides in that monitor, or (if the frame
|
||||
|
@ -353,6 +388,26 @@ does not intersect any physical monitors) that monitor is the closest
|
|||
to the frame. Every (non-tooltip) frame (whether visible or not) in a
|
||||
graphical display is dominated by exactly one physical monitor at a
|
||||
time, though the frame can span multiple (or no) physical monitors.
|
||||
|
||||
Here's an example of the data produced by this function on a 2-monitor
|
||||
display:
|
||||
|
||||
@lisp
|
||||
(display-monitor-attributes-list)
|
||||
@result{}
|
||||
(((geometry 0 0 1920 1080) ;; @r{Left-hand, primary monitor}
|
||||
(workarea 0 0 1920 1050) ;; @r{A taskbar occupies some of the height}
|
||||
(mm-size 677 381)
|
||||
(name . "DISPLAY1")
|
||||
(frames #<frame emacs@@host *Messages* 0x11578c0>
|
||||
#<frame emacs@@host *scratch* 0x114b838>))
|
||||
((geometry 1920 0 1680 1050) ;; @r{Right-hand monitor}
|
||||
(workarea 1920 0 1680 1050) ;; @r{Whole screen can be used}
|
||||
(mm-size 593 370)
|
||||
(name . "DISPLAY2")
|
||||
(frames)))
|
||||
@end lisp
|
||||
|
||||
@end defun
|
||||
|
||||
@defun frame-monitor-attributes &optional frame
|
||||
|
@ -529,8 +584,9 @@ frame. @code{title} and @code{name} are meaningful on all terminals.
|
|||
@vindex display, a frame parameter
|
||||
@item display
|
||||
The display on which to open this frame. It should be a string of the
|
||||
form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the
|
||||
@env{DISPLAY} environment variable.
|
||||
form @samp{@var{host}:@var{dpy}.@var{screen}}, just like the
|
||||
@env{DISPLAY} environment variable. @xref{Multiple Terminals}, for
|
||||
more details about display names.
|
||||
|
||||
@vindex display-type, a frame parameter
|
||||
@item display-type
|
||||
|
@ -586,12 +642,14 @@ right screen edge.
|
|||
@item @code{(+ @var{pos})}
|
||||
This specifies the position of the left frame edge relative to the left
|
||||
screen edge. The integer @var{pos} may be positive or negative; a
|
||||
negative value specifies a position outside the screen.
|
||||
negative value specifies a position outside the screen or on a monitor
|
||||
other than the primary one (for multi-monitor displays).
|
||||
|
||||
@item @code{(- @var{pos})}
|
||||
This specifies the position of the right frame edge relative to the right
|
||||
screen edge. The integer @var{pos} may be positive or negative; a
|
||||
negative value specifies a position outside the screen.
|
||||
negative value specifies a position outside the screen or on a monitor
|
||||
other than the primary one (for multi-monitor displays).
|
||||
@end table
|
||||
|
||||
Some window managers ignore program-specified positions. If you want to
|
||||
|
|
|
@ -1,3 +1,25 @@
|
|||
2014-10-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* frame.el (display-monitor-attributes-list): Doc tweaks.
|
||||
|
||||
2014-10-09 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* faces.el (display-grayscale-p): Mention in the doc string that
|
||||
the argument can be either a display name or a frame.
|
||||
|
||||
* frame.el (display-pixel-height, display-pixel-width)
|
||||
(display-mm-height, display-mm-width, display-backing-store)
|
||||
(display-save-under, display-planes, display-color-cells)
|
||||
(display-visual-class, display-monitor-attributes-list)
|
||||
(display-screens): Mention in the doc string that the argument can
|
||||
be either a display name or a frame. Improve the docs of the
|
||||
monitor attributes. (Bug#18636)
|
||||
|
||||
2014-10-09 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* term.el (term-window-width): Subtract 1 from the width when
|
||||
any fringe has zero width, not just the right fringe. (Bug#18601)
|
||||
|
||||
2014-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* frame.el (make-frame): Use t rather than nil for `w' (bug#18653).
|
||||
|
|
|
@ -1825,7 +1825,9 @@ If omitted or nil, that stands for the selected frame's display."
|
|||
(declare-function x-display-grayscale-p "xfns.c" (&optional terminal))
|
||||
|
||||
(defun display-grayscale-p (&optional display)
|
||||
"Return non-nil if frames on DISPLAY can display shades of gray."
|
||||
"Return non-nil if frames on DISPLAY can display shades of gray.
|
||||
DISPLAY should be either a frame or a display name (a string).
|
||||
If omitted or nil, that stands for the selected frame's display."
|
||||
(let ((frame-type (framep-on-display display)))
|
||||
(cond
|
||||
((memq frame-type '(x w32 ns))
|
||||
|
|
|
@ -1373,6 +1373,7 @@ frame's display)."
|
|||
|
||||
(defun display-screens (&optional display)
|
||||
"Return the number of screens associated with DISPLAY.
|
||||
DISPLAY should be either a frame or a display name (a string).
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
||||
(let ((frame-type (framep-on-display display)))
|
||||
(cond
|
||||
|
@ -1385,6 +1386,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
|||
|
||||
(defun display-pixel-height (&optional display)
|
||||
"Return the height of DISPLAY's screen in pixels.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display.
|
||||
|
||||
For character terminals, each character counts as a single pixel.
|
||||
|
@ -1404,6 +1406,7 @@ with DISPLAY. To get information for each physical monitor, use
|
|||
|
||||
(defun display-pixel-width (&optional display)
|
||||
"Return the width of DISPLAY's screen in pixels.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display.
|
||||
|
||||
For character terminals, each character counts as a single pixel.
|
||||
|
@ -1442,6 +1445,7 @@ not explicitly specified."
|
|||
(defun display-mm-height (&optional display)
|
||||
"Return the height of DISPLAY's screen in millimeters.
|
||||
If the information is unavailable, this function returns nil.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display.
|
||||
|
||||
You can override what the system thinks the result should be by
|
||||
|
@ -1462,6 +1466,7 @@ monitor, use `display-monitor-attributes-list'."
|
|||
(defun display-mm-width (&optional display)
|
||||
"Return the width of DISPLAY's screen in millimeters.
|
||||
If the information is unavailable, this function returns nil.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display.
|
||||
|
||||
You can override what the system thinks the result should be by
|
||||
|
@ -1485,6 +1490,7 @@ monitor, use `display-monitor-attributes-list'."
|
|||
"Return the backing store capability of DISPLAY's screen.
|
||||
The value may be `always', `when-mapped', `not-useful', or nil if
|
||||
the question is inapplicable to a certain kind of display.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
||||
(let ((frame-type (framep-on-display display)))
|
||||
(cond
|
||||
|
@ -1497,6 +1503,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
|||
|
||||
(defun display-save-under (&optional display)
|
||||
"Return non-nil if DISPLAY's screen supports the SaveUnder feature.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
||||
(let ((frame-type (framep-on-display display)))
|
||||
(cond
|
||||
|
@ -1509,6 +1516,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
|||
|
||||
(defun display-planes (&optional display)
|
||||
"Return the number of planes supported by DISPLAY.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
||||
(let ((frame-type (framep-on-display display)))
|
||||
(cond
|
||||
|
@ -1523,6 +1531,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
|||
|
||||
(defun display-color-cells (&optional display)
|
||||
"Return the number of color cells supported by DISPLAY.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
||||
(let ((frame-type (framep-on-display display)))
|
||||
(cond
|
||||
|
@ -1539,6 +1548,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
|||
"Return the visual class of DISPLAY.
|
||||
The value is one of the symbols `static-gray', `gray-scale',
|
||||
`static-color', `pseudo-color', `true-color', or `direct-color'.
|
||||
DISPLAY can be a display name or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
||||
(let ((frame-type (framep-on-display display)))
|
||||
(cond
|
||||
|
@ -1559,6 +1569,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display."
|
|||
|
||||
(defun display-monitor-attributes-list (&optional display)
|
||||
"Return a list of physical monitor attributes on DISPLAY.
|
||||
DISPLAY can be a display name, a terminal name, or a frame.
|
||||
If DISPLAY is omitted or nil, it defaults to the selected frame's display.
|
||||
Each element of the list represents the attributes of a physical
|
||||
monitor. The first element corresponds to the primary monitor.
|
||||
|
@ -1573,9 +1584,20 @@ of attribute keys and values as follows:
|
|||
(WIDTH HEIGHT)
|
||||
frames -- List of frames dominated by the physical monitor
|
||||
name (*) -- Name of the physical monitor as a string
|
||||
source (*) -- Source of multi-monitor information as a string
|
||||
|
||||
where X, Y, WIDTH, and HEIGHT are integers. Keys labeled
|
||||
with (*) are optional.
|
||||
where X, Y, WIDTH, and HEIGHT are integers. X and Y are coordinates
|
||||
of the top-left corner, and might be negative for monitors other than
|
||||
the primary one. Keys labeled with (*) are optional.
|
||||
|
||||
The \"work area\" is a measure of the \"usable\" display space.
|
||||
It may be less than the total screen size, owing to space taken up
|
||||
by window manager features (docks, taskbars, etc.). The precise
|
||||
details depend on the platform and environment.
|
||||
|
||||
The `source' attribute describes the source from which the information
|
||||
was obtained. On X, this may be one of: \"Gdk\", \"XRandr\", \"Xinerama\",
|
||||
or \"fallback\".
|
||||
|
||||
A frame is dominated by a physical monitor when either the
|
||||
largest area of the frame resides in the monitor, or the monitor
|
||||
|
|
|
@ -972,6 +972,9 @@ is buffer-local."
|
|||
(if (and (not (featurep 'xemacs))
|
||||
(display-graphic-p)
|
||||
overflow-newline-into-fringe
|
||||
;; Subtract 1 from the width when any fringe has zero width,
|
||||
;; not just the right fringe. Bug#18601.
|
||||
(/= (frame-parameter nil 'left-fringe) 0)
|
||||
(/= (frame-parameter nil 'right-fringe) 0))
|
||||
(window-body-width)
|
||||
(1- (window-body-width))))
|
||||
|
|
|
@ -220,7 +220,7 @@ See the end of the file for license conditions.
|
|||
key in HKEY_CURRENT_USER. Just delete the whole Software\GNU\Emacs
|
||||
key.
|
||||
|
||||
The Start menu entry can be removed by right-clicking on the Task bar
|
||||
The Start menu entry can be removed by right-clicking on the Taskbar
|
||||
and selecting Properties, then using the Remove option on the Start
|
||||
Menu Programs page. (If you installed under an account with
|
||||
administrator privileges, then you need to click the Advanced button
|
||||
|
|
|
@ -3264,7 +3264,7 @@
|
|||
* w32term.c (x_make_frame_visible): Use SystemParametersInfo with
|
||||
SPI_GETWORKAREA to find the dimensions of the screen work area,
|
||||
and adjust vertical position of the frame in order to avoid being
|
||||
covered by the task bar.
|
||||
covered by the taskbar.
|
||||
|
||||
* w32fns.c (w32_createwindow): Use CW_USEDEFAULT instead of
|
||||
f->left_pos and SH_SHOW instead of f->top_pos in the call to
|
||||
|
|
|
@ -6347,7 +6347,7 @@ x_make_frame_visible (struct frame *f)
|
|||
RECT window_rect;
|
||||
|
||||
/* Adjust vertical window position in order to avoid being
|
||||
covered by a task bar placed at the bottom of the desktop. */
|
||||
covered by a taskbar placed at the bottom of the desktop. */
|
||||
SystemParametersInfo (SPI_GETWORKAREA, 0, &workarea_rect, 0);
|
||||
GetWindowRect (FRAME_W32_WINDOW (f), &window_rect);
|
||||
if (window_rect.bottom > workarea_rect.bottom
|
||||
|
|
Loading…
Add table
Reference in a new issue