Eli Zaretskii writes: >> From: Alex >> Cc: rudalics@gmx.at, 23568@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.