Xpra-0.14.14 has introduced a problem with dialog pop-up windows on the X11 client.
For example, in firefox the "File -> Save As" dialog is no longer taken in charge by the window manager, and it is impossible to assign keyboard focus to the text box.
I am unsure what is the ideal solution for this. But this change in gtk_client_windows_base.py works for X11:
#skip decorations for any non-normal window that is transient for another window: # if "NORMAL" not in window_types and metadata.intget("transient-for", -1)>0: if ("NORMAL" and "DIALOG") not in window_types and metadata.intget("transient-for", -1)>0: return True
This was caused by #762 (lots of details there) - but your change would enable decorations for all window types!
Will test a better fix.
The minimal fix is in r8268 and will be backported to v0.14.x
I believe that r8269 is a more proper fix, as per gtk-window-type-constants: The Window Type constants specify the type of a gtk.Window. Most things you'd consider a "window" should have type gtk.WINDOW_TOPLEVEL; windows with this type are managed by the window manager and have a frame by default (call the set_decorated() method to toggle the frame). Windows with type gtk.WINDOW_POPUP are ignored by the window manager; window manager keybindings won't work on them, the window manager won't decorate the window with a frame, many GTK+ features that rely on the window manager will not work (e.g. resize grips and maximization/minimization). gtk.WINDOW_POPUP is used to implement widgets such as gtk.Menu or tooltips that you normally don't think of as windows per se. Nearly all windows should be gtk.WINDOW_TOPLEVEL. In particular, do not use gtk.WINDOW_POPUP just to turn off the window borders; use the gtk.Window.set_decorated() method for that.
So this sounds like we want to use POPUP only for OR windows, and toggle decorations based on other attributes as before. The problem is that this change could cause yet more regressions... something I would rather avoid. So maybe I will wait a little while before backporting it.
Testing both options would help move this forward.
See also #765
I am rubbish at python, sorry. Yes, r8268 is what I meant; it works.
I am using trunk @ r8272 right now, and the client decorations behave as expected. I have tried the x11 client on ubuntu 14.10 and on an old fc17 box.
Backport to v0.14.x in r8280. Closing.
Note: there may well be more changes in this area to handle window hints properly... hopefully without breaking too many applications. See #765.
FWI: this "fix" re-broke IE7 via wine, see #762.
Lots of fixes required to get this right, see 765#comment:10 for details.
Beta 0.14.16 and 0.15.0 packages with all these changes can be found here: http://xpra.org/beta/
pedalling.philosopher: any kind of testing feedback would be much appreciated.
Wanted to confirm no regressions... but trying to test with an osx 0.15.0 r9202 client I have been unable to figure out what I am testing exactly. I'm not sure what " ... in firefox the "File -> Save As" dialog ..." refers to, but I can't find anything in any dialog popups (running against a fedora 20 0.15.0 r9137 server) that catch my eye as looking odd.
I suppose that might mean there have been no regressions (?).
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/766