xpra icon
Bug tracker and wiki

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#755 closed defect (fixed)

some tooltip windows have window decorations (causing position offset problems)

Reported by: Nick Centanni Owned by: Nick Centanni
Priority: critical Milestone:
Component: client Version: trunk
Keywords: Cc:

Description

In airgap client 0.14.13.271, running Firefox brings up a Firefox welcome screen that contains a popup on the right "Take a quick tour".

Within this window is an 'x' to dismiss the window. Moving the mouse up to that cursor, the x does not highlight when the mouse cursor is over the x. Instead, it gets highlighted when the mouse cursor is roughly 10 pixels below the x.

Change History (9)

comment:1 Changed 4 years ago by Nick Centanni

Since this same startup screen doesn't show the second time Firefox is loaded, here's the URL that will bring up the screen in question:

https://www.mozilla.org/en-US/firefox/33.0/firstrun/

comment:2 Changed 4 years ago by Antoine Martin

Owner: changed from Antoine Martin to Nick Centanni

Could be related to #746, #734.

Please provide xpra info and small screenshot of when it happens, -d cursor debug log would also help.

comment:3 Changed 4 years ago by Antoine Martin

Priority: minormajor

Raising as I would like to get this in 0.14.13 if possible.

comment:4 Changed 4 years ago by Nick Centanni

It's likely that this mouse offset is caused by the fact that we add decoration (title bar) to a browser window which is supposed to displayed as an undecorated tooltip, thereby throwing off the cursor positioning by the height of that additional decoration.

comment:5 Changed 4 years ago by Antoine Martin

Found that this Firefox tooltip window is defined as a non override-redirect transient window for the main browser window and is of type UTILITY:

window[29].XShm=True
window[29].class-instance=('Popup', 'Firefox')
window[29].client-machine=localhost.localdomain
window[29].dimensions=(438, 228)
window[29].focused=0
window[29].grabbed=0
window[29].has-alpha=True
window[29].icon-title=Firefox
window[29].opacity=-1
window[29].override-redirect=False
window[29].pid=16674
window[29].position=(1350, 263)
window[29].scaling=(1, 1)
window[29].size=(438, 228)
window[29].size-constraints.gravity=1
window[29].size-constraints.maximum-size=(32767, 32767)
window[29].size-constraints.minimum-size=(1, 228)
window[29].size-constraints.position=(0, 0)
window[29].suspended=False
window[29].title=Firefox
window[29].total_frames[png]=11
window[29].total_pixels[png]=222627
window[29].transient-for=28
window[29].tray=False
window[29].window-type=('UTILITY',)
window[29].xid=0x8009b8

The wm spec states: _NET_WM_WINDOW_TYPE_UTILITY indicates a small persistent utility window, such as a palette or toolbox. It is distinct from type TOOLBAR because it does not correspond to a toolbar torn off from the main application. It's distinct from type DIALOG because it isn't a transient dialog, the user will probably keep it open while they're working. Windows of this type may set the WM_TRANSIENT_FOR hint indicating the main application window.

Reading this text, it isn't clear to me if we should really always make it an undecorated window - but r8222 does this and probably gets rid of the offset bug (which looks like a Firefox bug, it either makes the assumption that there will not be an offset, or queries the window position before we have mapped it with the offset due to the title bar and either fails to detect that we mapped it lower or tries to force it where it wants it).

Does this fix the offset bug? (I would like to backport to v0.14.x)

comment:6 Changed 4 years ago by Antoine Martin

Priority: majorcritical

Backport to v0.14.x in r8023.

Please close if this fixes things. (raising as this is due for 0.14 release)

comment:7 Changed 4 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

Fix has been released as part of 0.14.13

Closing.

comment:8 Changed 4 years ago by Antoine Martin

Summary: Mouse cursor being detected outside of actual linksome tooltip windows have window decorations (causing position offset problems)

(updating ticket title to reflect actual bug fixed)

comment:9 Changed 4 years ago by Antoine Martin

See also #762

Note: See TracTickets for help on using tickets.