xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Changes between Initial Version and Version 7 of Ticket #589


Ignore:
Timestamp:
06/09/14 11:58:33 (7 years ago)
Author:
Antoine Martin
Comment:

Confirmed with a Linux client.

Here's the relevant part of the server running with -d window:

client configured window 4 - WindowModel(0xa00056 - " "), at: (629, 373, 454, 58)
_process_configure_window([4, 629, 373, 454, 58, {}]) old window geometry: (629, 373, 454, 58)
client configured window 4 - WindowModel(0xa00056 - " "), at: (629, 373, 454, 58)
_process_configure_window([4, 629, 373, 454, 58, {}]) old window geometry: (629, 373, 454, 58)
client mapped window 4 - WindowModel(0xa00056 - " "), at: (629, 373, 454, 58)
reset_x_focus: widget with focus: None
Take Focus -> world window
sendClientMessage(0x40001e, 0x40001e, 0x0, 0x0, WM_PROTOCOLS, WM_TAKE_FOCUS, 118888923, 0, 0, 0)
focus_out_event(<X11:FocusOut {'delivered_to': '0xa00021', 'send_event': 0, 'detail': 4, 'window': '0xa00021', 'mode': 0, 'serial': 11918L, 'type': 10, 'display': ':1'}>) mode=NotifyNormal, detail=NotifyNonlinearVirtual
Giving focus to 0xa00056
... using WM_TAKE_FOCUS
sendClientMessage(0xa00056, 0xa00056, 0x0, 0x0, WM_PROTOCOLS, WM_TAKE_FOCUS, 118888926, 0, 0, 0)
focus_in_event(<X11:FocusIn {'delivered_to': '0xa00056', 'send_event': 0, 'detail': 4, 'window': '0xa00056', 'mode': 0, 'serial': 11932L, 'type': 9, 'display': ':1'}>) mode=NotifyNormal, detail=NotifyNonlinearVirtual
Property changed on 0xa00056: WM_HINTS
wm_hints.input = 0
wm_hints.input = 0
Client window unmapped

The window is unmapped by the application after we reset the focus..
On the client side we see:

set_modal(False) swallowed

And:

focus-out-event for wid=3
GLClientWindow(3 : GLPixmapBacking(3, (1380, 940), GBRP)) focus_change((ClientWindow(3), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=False, _been_mapped=True
update_focus(3, False) focused=3, grabbed=None
send_focus(0)
focus-in-event for wid=22
GLClientWindow(22 : GLPixmapBacking(22, (454, 58), None)) focus_change((ClientWindow(22), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=True, _been_mapped=True
update_focus(22, True) focused=None, grabbed=None
send_focus(22)

What happens is that we process the main window's loss of focus before giving the focus to the dialog window (which should be modal... sadly we cannot do application-modal window with gtk).

The patch above seems to avoid the problem, but I want to try to find a better solution.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #589

    • Property Owner changed from Antoine Martin to Antoine Martin
    • Property Status changed from new to assigned
  • Ticket #589 – Description

    initial v7  
    11When trying to use 'Navigate to class' feature in the intellij ide (which is a java awt app), the popup where the user is supposed to type the name of the class pops and disappears immediately.
    22This happens both when I use the shortcut cmnd+N or click it in the menu (Navigate->class).
    3 
     3{{{
    44Server: Centos 6.5, xpra 13.2 in Virtualbox headless
    55Client: OSX 10.9.3, xpra 13.2 (also tested with 11.6)
     6}}}
    67Please see attached logs from client and server, and let me know if i can provide any other info.