[v2::tauri_plugin_positioner] Fix window positioning relative to tray icon #1128
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
I suppose that
event.{x, y}
received withTrayIconEvent
corresponds to the mouse click position on screen, so if we want to position the window relative to the tray item, then we should rely onicon_rect.{left, top}
instead.It's worth to note that when positioning for
TrayBottomCenter
they
coordinate for window must be pinned toicon_rect.bottom
but that doesn't work becauseicon_rect
has invalid coordinates to begin with, for example:I suppose that the tray icon should actually have a top coordinate set to 0 and with the height of 22, double it on my retina and it comes down to:
Which means that
icon_rect.top
corresponds to the bottom of menubar on macOS.So unless there is some funny business going on in AppKit, which is possible but unlikely, I'd say that the layer that converts menubar icon frame to screen coordinates on macOS has a bug, so that's something to look into down the road.