jordanbaird / Ice

Powerful menu bar manager for macOS
https://icemenubar.app
GNU General Public License v3.0
10.03k stars 194 forks source link

[Bug]: Dato menu loads in far left corner instead of being anchored to icon in far right corner #169

Open autonome opened 1 week ago

autonome commented 1 week ago

Check existing issues

Description

The menu loads on the far left, but should load on the far right.

Steps to Reproduce

  1. Install Dato: https://sindresorhus.com/dato
  2. Open the Dato menu

Ice Version

0.9.0

macOS Version

14.5

Screenshots

CleanShot 2024-06-19 at 17 31 14@2x

luckman212 commented 1 week ago

I have this too. Same OS, same app (although I am using the Setapp version)

luckman212 commented 1 week ago

Running 0.10b5 now, and still having the issue where "new" icons (not really new, just re-appearing ones that I've moved out from the "always-hidden" section before) are being placed at the end of the line and thus not visible when I need them to be.

It also affects menubar icons that are added by Hammerspoon, of which I have several that appear and disappear depending on various things happening on my Mac.

I was wondering if there was a hidden setting to control this behavior somewhere that I'm not seeing in the UI?

I see that some of the other related issues around this are now closed, so I'm hopeful there are still some more changes coming... probably https://github.com/jordanbaird/Ice/issues/6 is the correct one to follow?

I'll link these here just for reference:

jordanbaird commented 1 week ago

@luckman212 #6 would be the correct one to follow, yes. That and #26, which will enable Ice to remember the locations of existing items.

luckman212 commented 38 minutes ago

Is this problem unique to Dato.app? I have other menubar items e.g. DatWeatherDoe whose text also changes periodically, yet their position remains correct. For some reason, Dato constantly "jumps" to the back of the line. Is there a reason to ask @sindresorhus if he's doing something unorthodox that would cause this behavior?

jordanbaird commented 27 minutes ago

@luckman212 Does Dato dynamically create its item(s) during runtime? As in, it might add and remove them while it's still running? If so, I think it's following the default behavior, which deletes the item's stored position when the it is removed. I had to manually work around it with Ice by caching the position before removing the item and storing it again afterward.