[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor c
From: |
Alex |
Subject: |
bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations |
Date: |
Sat, 03 Jun 2017 13:19:50 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Alex <agrambot@gmail.com>
>> Date: Fri, 02 Jun 2017 18:54:03 -0600
>> Cc: 23568@debbugs.gnu.org
>> Don't you want to throw an error when x and y are used, but are not
>> integers?
>
> If this is supposed to be used as part of mode-line display, then no.
> Signaling errors in the middle of redisplay is generally a bad idea,
> because they cause another redisplay cycle, which again signals an
> error, and Emacs just freezes.
I see. In the general case, is it recommended to silently fallback to a
different method, or should there be a log message?
I changed the procedure so that it only uses the coordinates if they're
numbers.
>> +(defun display-monitor-attribute (attribute &optional display x y)
>> + "Return the value of the ATTRIBUTE of the current monitor.
>
> The doc string should say something about what "the current monitor"
> means, or have a link to where that is explained.
I expanded that section, copying a chunk of it from
`frame-monitor-attributes'.
>> +DISPLAY can be a display name, a terminal name, or a frame.
>
> "Terminal name" or "terminal object"?
`display-monitor-attributes' can take both, which is where I copied that
line from.
I don't think I should have done that, actually. I don't believe this
function makes sense for a terminal/display input, as a
terminal/display, as I understand it, can have multiple physical
monitors.
I changed all instances of `display' to `frame'. I'm still not sure on
the name, though. Perhaps a better prefix would be `physical-monitor-*',
or just `monitor-*'?
What do you think?
>> diff --git a/src/xmenu.c b/src/xmenu.c
>> index 2805249164..04d5bde2ba 100644
>> --- a/src/xmenu.c
>> +++ b/src/xmenu.c
>
> Why is this in xmenu.c? Is the problem unique to X window system?
The xmenu.c part contains the actual bugfix, while the frame.el part is
just a partial abstraction for the fix so that other procedures can use
it (such as compute_tip_xy in xfns.c).
The procedure I'm editing (menu_position_func) is inside an #ifdef
USE_GTK, and uses x_display_pixel_{height,width} currently. I'm not sure
if it's useful outside of X currently.
I haven't tested the issue on other systems, but I don't think it's an
issue in Windows as half of the code came from Windows code according to
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22549#61.
Here's an updated diff:
multi-headv4.diff
Description: v4
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, martin rudalics, 2017/06/01
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Alex, 2017/06/01
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Alex, 2017/06/01
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, martin rudalics, 2017/06/02
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Alex, 2017/06/02
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, martin rudalics, 2017/06/02
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Alex, 2017/06/02
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Eli Zaretskii, 2017/06/03
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations,
Alex <=
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Eli Zaretskii, 2017/06/04
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Alex, 2017/06/05
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Eli Zaretskii, 2017/06/05
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, martin rudalics, 2017/06/05
- bug#23568: 25.0.94; Mode line menus appear incorrectly in some monitor configurations, Eli Zaretskii, 2017/06/10