On Tue, Jan 17, 2012 at 02:58:23PM +0100, Eduard Bloch wrote: > When you attempt to close gvim with modified files, it opens a dialog > window asking whether the file shall be saved. But there is a problem > with that dialog, it sets _NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_TASKBAR > which makes the window disappear from the taskbar. That's ok for the > regular case since the freshly created window appears in the foreground.
Hmm, this is the expected behavior of a GtkMessageDialog according to Gnome's HIG[0]. I've verified as well that specifying the dialog is modal doesn't change the focus behavior. It's possible to adjust the dialog so it shows up in the taskbar, but that's not how they're intended to be used. > But if you loose the focus of that dialog once (i.e. by clicking on the main > window, or hiding/unhiding the main window of gvim) then you get a > problem - the main window still assumes that the dialog window is modal and > must be closed first but that dialog window does not behave like a > modal window. I.e. it does not set _NET_WM_STATE_MODAL anywhere (or, > alternatevly, it is also not re-focused automatically when the main > window gets the focus). With old-school window managers (having keyboard > quick-switch, like icewm or windowmaker) you can no longer reach that > dialog window with keyboard. The only way to get the focus back is using > the mouse. I was able to switch back to it in Awesome, but I guess that's not old school, just keyboard friendly. > Just compare it to some Qt application (the usually do it correctly), > Kate for example. Some other applications don't setup modal mode either > but they at least don't hide the dialog window from the taskbar, leaving > the user a chance. I've compared the behavior a few other Gtk applications I have installed and they seem to behave the same way. This seems like it may be more of a toolkit issue in that the dialog isn't being forced into focus when the main window gets focused. [0]: http://developer.gnome.org/hig-book/stable/windows-alert.html.en -- James GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <james...@debian.org>
signature.asc
Description: Digital signature