Ice icon indicating copy to clipboard operation
Ice copied to clipboard

[Feature Request] notch macbook support.

Open jiengup opened this issue 2 years ago • 7 comments

Beneficial application! Do you consider designing for a notch MacBook's built-in screen? When we have so many menu bar icons, we can't see all the icons using ice's hidden strategy nowadays. It's like: On my 27 inch monitor: image But on built-in screen: image because of Apple's genius notch design.

jiengup avatar Feb 01 '24 14:02 jiengup

This is something that could definitely be supported, but I don't have access to a MacBook with a notch to be able to work on it. I'll add it to the roadmap for the time being, and hopefully it can happen soon.

jordanbaird avatar Feb 02 '24 13:02 jordanbaird

I think it would be cool if we got an option like Bartenders "Bar" - Photo: BartenderBar

y-u-s-u-f avatar Feb 04 '24 21:02 y-u-s-u-f

I think it would be cool if we got an option like Bartenders "Bar" - Photo: BartenderBar

This is also on the roadmap, but can't be implemented until I work out how to implement individual menu bar item movement. Right now, Ice can only move items in sections. I have a semi-working implementation, but it's quite complicated with lots of failure points that need to be addressed.

jordanbaird avatar Feb 06 '24 00:02 jordanbaird

I'm waiting for notch support as well. Once this issue gets resolved, I'll try this app out!

merken avatar Feb 19 '24 06:02 merken

Notch support would definitely be great: I miss some app icons behind it 😞

loranger avatar Mar 17 '24 11:03 loranger

For those additional menu bars, its only possible to add them to the menu bar and then to be opened as far I know. This isn't that fluent, but a solution for Macbooks with a Notch

Xytronix avatar Apr 10 '24 09:04 Xytronix

Beneficial application! Do you consider designing for a notch MacBook's built-in screen? When we have so many menu bar icons, we can't see all the icons using ice's hidden strategy nowadays. It's like: On my 27 inch monitor: image But on built-in screen: image because of Apple's genius notch design.

If its possible to show menu bar items on the left, then the width of the notch has to be recorded.

Xytronix avatar Apr 10 '24 09:04 Xytronix

Now that Bartender is exhibiting strange behavior, notch support from ICE would be great.

blu-e-man avatar Jun 05 '24 11:06 blu-e-man

Please move this to the top of the backlog. Many people want to move from Bartender at the moment, but this is a must-have.

HaigNalbandian avatar Jun 05 '24 18:06 HaigNalbandian

the people have spoken

yonatankremer avatar Jun 05 '24 20:06 yonatankremer

Another space-efficient approach for when the notch prevents all extra items from showing could be for those extra items to replace the unhidden items when revealed, instead of showing in addition to those items. That creates some extra space to show hidden icons. I use it this way in bartender currently.

nweii avatar Jun 05 '24 23:06 nweii

I hear everyone. This is definitely in the pipeline. The main thing blocking this is that Ice needs to be able to move individual menu bar icons. When an icon is clicked in the secondary bar, it needs to be temporarily moved from whichever section it is in to the visible section so it can show its menu. I have this mostly working, but there are certain apps, such as BetterTouchTool, that block the proper events from being sent to the items. A temporary workaround could be to disable the feature when BetterTouchTool is running.

jordanbaird avatar Jun 06 '24 01:06 jordanbaird

Is there anything we can support you with in this, besides the financial support? This is currently the only thing that unwillingly prevents me from moving from Bartender to Ice, since I also have the Notch.

Maybe an alpha/beta release would be something? Since you said it's mostly working we could test it, and discover and sort out remaining issues.

jonasjelonek avatar Jun 07 '24 08:06 jonasjelonek

I would also like to volunteer as beta tester if that helps. MBP 14 with notch. Would it not be as simple as providing a spacer at the coordinates of the notch? Are there any API's to leverage here?

merken avatar Jun 07 '24 08:06 merken

I can help in beta testing too. MBP 14 (M3 - Sonoma 14.5)

MoKhajavi75 avatar Jun 07 '24 15:06 MoKhajavi75

Also willing to test on my notched 14" MB Air and on a 27" 1440p monitor

HaigNalbandian avatar Jun 07 '24 15:06 HaigNalbandian

Would it not be as simple as providing a spacer at the coordinates of the notch? Are there any API's to leverage here?

My thoughts exactly. If so, we would need to figure out if the current display has a notch (hopefully as simple as an api call) and how big it is (are they all the same?)

gingerbeardman avatar Jun 07 '24 17:06 gingerbeardman

@jordanbaird developer of BetterTouchTool here, what kind of events are you seeing blocked by BTT? Would be happy to fix or help with that. (Bartender also seems to be able to do this while BTT is running, but I haven't checked the exact events it uses yet)

fifafu avatar Jun 07 '24 18:06 fifafu

It would be amazing to have this feat. I want to get rid of Bartender asap. 🙏

kud avatar Jun 07 '24 18:06 kud

@fifafu Thank you for the help! I haven't tracked down exactly which of these it is, but it's one (or all) of mouse down, mouse dragged, and mouse up. It results in an event tap that listens for these events timing out. Would you be able to email me at [email protected] so we can talk in more detail about what's going on?

jordanbaird avatar Jun 07 '24 20:06 jordanbaird

Sure I'll ping you! But isn't the general problem that you can only target items that are "on-screen" with these events? I can easily programmatically move around the items that are visible, but the hidden ones that are pushed off screen by either setting the status item length to a high value or because there are just too many, these I'm unable to access using standard events.

fifafu avatar Jun 07 '24 20:06 fifafu

@fifafu I've found a workaround for that. But yes, that was a problem early on.

jordanbaird avatar Jun 07 '24 20:06 jordanbaird

Good news -- @fifafu and I were able to solve the remaining problems with individual item movement. All that's left now is to implement the secondary bar

jordanbaird avatar Jun 08 '24 23:06 jordanbaird

We really appreciate your efforts @jordanbaird & @fifafu ✌🏻

MoKhajavi75 avatar Jun 09 '24 05:06 MoKhajavi75

@jordanbaird as a fellow developer (though mostly python these days) I'd be glad to help test and send logs or do experiments. Yes my ObjC/Swift is rusty, but I should be able to do some basic experiments.

dwt avatar Jun 10 '24 08:06 dwt

Just gonna through this out there: if you change your screen size to a non-standard size the stupid top notch goes away, and you can see everything.

i previously tried to use TopNotch to remove it, and that stopped working when I upgraded to M3 / Sonoma, but I found that workaround after a lot of googling

ThisIsMissEm avatar Jun 11 '24 11:06 ThisIsMissEm

I'm using the tool zNotch temporary hide/show the notch, together with this handy shell script:

$ cat bin/toggle-notch
#!/usr/bin/env sh
open 'xyz.kondor.znotch://v1/manage?action=toggle'

That gives me access to all my menu items in a pinch until ice has better support.

dwt avatar Jun 12 '24 05:06 dwt

I have something that I think works pretty well. I'll attach a build for anyone who wants to try it out. In addition to the secondary bar, you can now rearrange your menu bar items directly within Ice's interface! I would appreciate anyone's feedback! :)

Ice.zip

Some known issues:

  1. The purple screen capture icon appears in the menu bar quite often. This is because Ice needs to capture images of the individual menu bar items to display in its interface (these and portion of the desktop background below the menu bar are the only things Ice ever captures). I'll be optimizing this.
  2. Rapidly switching spaces can cause the icons to disappear from the secondary bar. A workaround if this happens is to switch to another space, wait for a few seconds, then switch back.
  3. Menu bar items that are temporarily shown by clicking them in the secondary bar are currently rehidden after a fixed amount of time. This will be changed to use a dynamic check, similar to Ice's smart autohide.
  4. The displayed menu bar items (both in the secondary bar and the arranging interface) can sometimes get out of sync with the actual items in the menu bar.

Things to test:

  1. We need to make sure that the current method of hiding/showing items works the same as it did. I had to rework some of the internals to get the two methods to play nice with each other.
  2. When an external display is connected, the secondary bar should appear on the currently active display. I have not tested this, so it would be great to have confirmation that it works (or doesn't).

Other things:

  1. Is the "Secondary Bar" name okay? Or would "Ice Bar" be better?

jordanbaird avatar Jun 13 '24 11:06 jordanbaird

Nice! Fyi, to get rid of the purple screen recording icon you can start the app like this (assuming it's in the /Applications folder):

screen -dmS Ice /Applications/Ice.app/Contents/MacOS/Ice

fifafu avatar Jun 13 '24 11:06 fifafu

I vote for "Ice Bar" - sounds cool! 😎

luckman212 avatar Jun 13 '24 11:06 luckman212