jordanbaird / Ice

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

[Bug]: "Hide application menus when showing menu bar items" option doesn't work in some apps. #60

Closed maxoliinyk closed 2 months ago

maxoliinyk commented 4 months ago

Check existing issues

Description

"Hide application menus when showing menu bar items" doesn't work in some apps.

For example, this issue appears every time in Arc browser

Steps to Reproduce

  1. Open Arc (example)
  2. Expand menubar
  3. See the issue

Ice Version

0.8.0

macOS Version

14.4.1

Screenshots

Expanded menubar in Arc

Expanded menubar in Music

jordanbaird commented 4 months ago

I suspect this is due to the new "cooperative" style of app switching in macOS 14. Ice hides an application's menus by activating itself to show its own empty menu. Prior to macOS 14, apps could force their activation without needing to consult any other process. Now, they essentially have to "ask" the currently active app if it wants to give up its active status. Unfortunately, I'm not sure there's anything we can do about this, unless Apple decides they want to change this behavior.

validatedev commented 3 months ago

I just want to say something about the issue. The problem does not happen with Bartender 5, so I think there should be a way to implement that.

validatedev commented 3 months ago

Here is the screen recording with Bartender 5.0.49. As you can see, it works without any issues. I think it's better to keep the issue open, maybe someone can find a solution for it. @jordanbaird

https://github.com/jordanbaird/Ice/assets/29679552/496b73ad-d1f6-4652-971f-f8f7690aeed4

jordanbaird commented 3 months ago

@validatedev noted. I'll reopen the issue.

validatedev commented 2 months ago

@jordanbaird with 0.10.3 it is worse. I cannot see any of the underflow elements.

I cannot use screen recording as it solves the issue as you can see :) Hence, I did the recording via my phone.

https://github.com/user-attachments/assets/a8293123-771e-483a-be36-f21bde1fde21

jordanbaird commented 2 months ago

@validatedev I think I know what's going on. 0.10.3 introduced some changes to how the application menu frame is calculated, but code that checks whether the application menus need to be hidden wasn't updated to reflect the change. Should be a relatively easy fix.

validatedev commented 2 months ago

@jordanbaird Perfect! Looking forward to trying the new build to verify the fix then :)

jordanbaird commented 2 months ago

Above is a temporary fix that should return the previous behavior. This implementation has some flawed logic to begin with, so at some point, I will be doing a full rewrite of the feature.

validatedev commented 2 months ago

Apologies for missing the notification earlier. I'm glad to hear about the temporary fix and appreciate your efforts in addressing the issue. Thank you for keeping me updated. Looking forward to the full update when it's ready.