GNOME Bugzilla – Bug 675354
Calibrator window can loose keyboard focus and be covered by other regular windows
Last modified: 2012-06-14 17:13:14 UTC
Created attachment 213358 [details] [review] Proposed patch Description: During calibration, the calibrator window can loose focus or be covered by other regular windows, coming in the way of calibration. To reproduce: 1. Run the test-calibrator test app from the gnome-control-center/panels/wacom/calibrator/ source tree 2. Press Alt-Tab Actual result: Another app window is raised above the calibrator window which loses keyboard focus (thus preventing "Escape" to exit the calibrator). Expected result: During calibration, no external window or event should come into the way of the calibrator window. Proposed solution: Currently, the calibrator window is a regular toplevel window set to fullsscreen, thus relying in the window manager to keep it above and retain focus. A possible solution would be to make the calibrator window a popup window (ie an override redirect window, in the X terminology) that the Window manager cannot interfere with, and grab the keyboard device(s) for this window to avoid any interaction with any other window. Proposed patch attached. Note, there is no gdk_device_ungrab() on unmap as GTK/GDK does that already for us in gdk_window_hide().
I don't think there's a need to do that. Use gtk_window_set_keep_above(), and dismiss the window if the person changes the window focus.
(In reply to comment #1) > I don't think there's a need to do that. Use gtk_window_set_keep_above(), and > dismiss the window if the person changes the window focus. Yeap, that would work as well. Will send another patch for that.
Created attachment 213369 [details] [review] Proposed patch Updated patch as per comment #1
Review of attachment 213369 [details] [review]: Looks good.
Review of attachment 213369 [details] [review]: A couple of things though. Keep the subject line under 72 chars, and it's "lose" not "loose".
Fixed the "looses" typo in the commit message, and corrected it to be shorter.