OpenIntelWireless / HeliPort

Intel Wi-Fi Client for itlwm
https://OpenIntelWireless.github.io/HeliPort
BSD 3-Clause "New" or "Revised" License
1.09k stars 123 forks source link

Updated menu bar Wi-Fi icons #251

Closed Zyvoxi closed 1 month ago

Zyvoxi commented 2 months ago

Updated the HeliPort icons in the menu bar with the native WiFi icons from macOS Sonoma to make them look more like the native WiFi icons from recent macOS versions.

If someone want to test it: download

williambj1 commented 2 months ago

Hi @IVORRY, thanks for your contribution. May I kindly ask for the source of those images? If those icons are exported from the Asset Catalog in Control Center WiFi MenuExtra, they cannot be included in this repository.


Side note: I'm in the middle of making a UI refresh for the entire menu, here's a preview.

ui

Note that currently the UI is not fully functional and I'll need to do a lot of clean up for the source code, therefore do not expect the changes to be made public soon.

The problem with SF Symbols is the icons are slightly lower than what Apple used, the differences are quite noticeable when both icons are put side by side, and I'm not sure whether Apple allows modifying the symbols. Instead I decided to tweak MIT licensed icons from https://framework7.io/icons/ and those are what you are currently seeing in the screenshot above.

Zyvoxi commented 2 months ago

I extracted the icons directly from the system at this location: /System/Library/PrivateFrameworks/CoreWLANKit.framework/Versions/A/Resources/Assets.car

It's okay if the icons cannot be included in the repository; it seems like you're already using icons very similar to the default macOS icons.

The new interface is amazing, and I’m looking forward to the launch of this new interface. You did an incredible job on it.

Zyvoxi commented 2 months ago

I updated the icons with the Framework7 icons, but I don't think an icon update is relevant at the moment since you are already working on a new UI. However, if you want to merge it to serve as a mini update to the UI for version 1.5.0, feel free to proceed.

Zyvoxi commented 2 months ago

I also updated the UI a bit as you can see in the image below, and I made sure that SSIDs have a maximum of 25 characters to make the visualization more pleasant. The image below also shows some very long SSIDs that have been shortened. Captura de Tela 2024-06-29 às 22 42 50 I haven't committed this small UI update yet. If you want me to commit it as a minor UI update for version 1.5.0 while you work on the UI refresh, just let me know.

williambj1 commented 2 months ago

I also updated the UI a bit as you can see in the image below, and I made sure that SSIDs have a maximum of 25 characters to make the visualization more pleasant. The image below also shows some very long SSIDs that have been shortened. I haven't committed this small UI update yet. If you want me to commit it as a minor UI update for version 1.5.0 while you work on the UI refresh, just let me know.

This is not the intended behaviour. The menu is expected to match Apple's implementation which automatically adjusts its width if a long SSID shows up. Is that not the behaviour you are observing currently?

Zyvoxi commented 2 months ago

This is not the intended behaviour. The menu is expected to match Apple's implementation which automatically adjusts its width if a long SSID shows up. Is that not the behaviour you are observing currently?

Yes, the width of the HeliPort menu adjusts automatically according to the SSID length, but I think limiting the display of SSIDs to 25 letters might be better to prevent the HeliPort menu from becoming too large on screens with lower resolutions. Additionally, the native Wi-Fi menu in macOS dynamically shortens SSIDs to 25-30 letters (enough to fit within the menu). Captura de Tela 2024-07-02 às 14 37 49 I think this could be interesting for the HeliPort UI refresh.

williambj1 commented 2 months ago

This is not the intended behaviour. The menu is expected to match Apple's implementation which automatically adjusts its width if a long SSID shows up. Is that not the behaviour you are observing currently?

Yes, the width of the HeliPort menu adjusts automatically according to the SSID length, but I think limiting the display of SSIDs to 25 letters might be better to prevent the HeliPort menu from becoming too large on screens with lower resolutions. Additionally, the native Wi-Fi menu in macOS dynamically shortens SSIDs to 25-30 letters (enough to fit within the menu). I think this could be interesting for the HeliPort UI refresh.

Interesting, I'll definitely look into this behaviour for the new UI, haven't noticed this change since Apple refreshed their UI (long SSIDs are surely quite rare). I intend to keep both UIs available, so I might leave the old one unchanged which in turn allows both versions to match the native UI's behaviour.

Zyvoxi commented 2 months ago

This is not the intended behaviour. The menu is expected to match Apple's implementation which automatically adjusts its width if a long SSID shows up. Is that not the behaviour you are observing currently?

Yes, the width of the HeliPort menu adjusts automatically according to the SSID length, but I think limiting the display of SSIDs to 25 letters might be better to prevent the HeliPort menu from becoming too large on screens with lower resolutions. Additionally, the native Wi-Fi menu in macOS dynamically shortens SSIDs to 25-30 letters (enough to fit within the menu). I think this could be interesting for the HeliPort UI refresh.

Interesting, I'll definitely look into this behaviour for the new UI, haven't noticed this change since Apple refreshed their UI (long SSIDs are surely quite rare). I intend to keep both UIs available, so I might leave the old one unchanged which in turn allows both versions to match the native UI's

These long SSIDs are quite common in my city, I don't know why, so it was easy to notice this change in the Apple UI.

I think keeping both UIs available is a good choice since users might prefer to use a UI that more closely matches the system's UI.