Ticket #147 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

NVDA menu should always pop up at a predictable location

Reported by: jteh Owned by:
Priority: major Milestone: 2009.1
Component: GUI Version: development
Keywords: Cc:
Operating system: Blocked by:
Blocking:

Description (last modified by jteh) (diff)

The NVDA menu is always popped up at the current mouse position. This is fine if the NVDA system tray icon is clicked to activate the menu, as the mouse is always positioned over the icon in this case. The same applies if the user presses the applications key or shift+f10 on the icon, as Windows moves the mouse. However, if NVDA+n is pressed, the NVDA menu is popped up wherever the mouse is located, which could be anywhere on the screen. This is unpredictable and potentially confusing behaviour.

Change History

Changed 2 years ago by jteh

  • status changed from new to closed
  • resolution set to fixed
  • description modified (diff)
  • summary changed from NVDA menu should always pop up at position of system tray icon to NVDA menu should always pop up at a predictable location

Unfortunately, it is very difficult to find the location of a specific system tray icon. Windows doesn't seem to provide functions to do this. Other applications do manage it, but I'm not entirely sure how. They probably iterate through the icons looking for a matching icon or similar. Also, wx doesn't provide access to the underlying system tray icon data and window, so we would need to write our own system tray class.

Even worse, wx doesn't provide a way to bring up a system tray icon menu anywhere except the current location of the mouse, so we have to move the mouse if we want it to appear in a different location.

As of r2339, activating the NVDA menu other than by clicking on the system tray icon (e.g. by pressing NVDA+n) will move the mouse to the centre of the screen first, thus causing the menu to appear there.

Note: See TracTickets for help on using tickets.