GNU bug report logs -
#23568
25.0.94; Mode line menus appear incorrectly in some monitor configurations
Previous Next
Reported by: Alex <agrambot <at> gmail.com>
Date: Wed, 18 May 2016 02:29:01 UTC
Severity: normal
Found in version 25.0.94
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #53 received at 23568 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Alex <agrambot <at> gmail.com>
>> Cc: rudalics <at> gmx.at, 23568 <at> debbugs.gnu.org
>> Date: Sat, 03 Jun 2017 13:19:50 -0600
>> 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?
>
> LGTM, thanks.
Just to be clear: you prefer the frame-* prefix?
>> 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.
>
> Ah, okay. Then maybe just add a comment there saying that the w32
> case is handled elsewhere, perhaps with a pointer to the function
> which does that.
Actually, it turns out that I used the half of the code that *didn't*
come from compute_tip_xy from w32fns.c. I instead put a reference to
commit c77ffc8019 in date form in the commit message.
I tested it out on a Windows partition and indeed the problem doesn't
appear there.
>> Here's an updated diff:
>
> Thanks, it would be nice if you could also provide a ChangeLog-style
> commit log message. That'd make the job of pushing the changes much
> easier.
Right, I just figure that it's easier to save that work until the end
until most/all of the design considerations are taken care of.
Also, I switched from using the geometry attribute (like c77ffc8019
used) to the workarea attribute as according to the GDK doc[1]:
The work area should be considered when positioning menus and similar
popups, to avoid placing them below panels, docks or other desktop
components.
I've attached a patch below.
[0001-Fix-the-placement-of-GTK-menus-on-multi-monitor-syst.patch (text/x-diff, attachment)]
[Message part 3 (text/plain, inline)]
Footnotes:
[1] https://developer.gnome.org/gdk3/stable/GdkScreen.html#gdk-screen-get-monitor-workarea
This bug report was last modified 7 years and 350 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.