This is a limitation in how X handles keyboard grabbing. Essentially,
when GTK opens a menu, it needs to grab keyboard and mouse. When that
happens, gnome-screensaver cannot exclusively grab the keyboard.

There are two ways to fix this: 1- Redesign how X handles keyboard
grabbing, and probably break compatibility with every single X
application. 2- Put a hack into GTK to make menus close themselves after
an inactivity timeout.

Of course, just fixing the issue in GTK will not fix the issue in other
applications that grab the keyboard, such as rdesktop or vnc.

We have plans to move screen locking into LightDM. Once that is done,
the screen will lock with a VT switch, which will work around this
issue. Also, hopefully Wayland will have a better solution for keyboard
grabs.

This isn't a simple fix, the whole system needs to be redesigned to
solve this problem. This is why it's not fixed yet.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-screensaver in Ubuntu.
https://bugs.launchpad.net/bugs/49579

Title:
  screen doesn't lock when panel menu is open

Status in GNOME Screensaver:
  Confirmed
Status in “gnome-screensaver” package in Ubuntu:
  Triaged

Bug description:
  Binary package hint: gnome-screensaver

  I'm running a fresh install of Dapper with screensaver set to 'blank
  screen', and 'lock screen when screensaver is active' enabled.

  If a panel menu (e.g. Applications) is open and the machine is left
  idle, the screen fails to lock. It fades out after the time period as
  expected, but the desktop reappears after a few seconds.

  Ben (comments / criticism welcome, this is my first bug report)

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-screensaver/+bug/49579/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to