top | item 21794858

Hidden Bar: macOS utility to hide unused menu bar icons, written in Swift

133 points| luckman212 | 6 years ago |github.com

72 comments

order
[+] gtmtg|6 years ago|reply
For anyone who's wondering how it works: key line of code seems to be here (https://github.com/dwarvesf/hidden/blob/develop/hidden/ViewC...), where they make the "separator" element really wide to push the icons to be hidden offscreen.
[+] btown|6 years ago|reply
So I imagine then that this relies on operating system behavior that says "show as many icons as we can fit, if we go over our limit hide the rest and right-justify the ones that did fit" - so therefore by controlling the width they can change that breakpoint?
[+] bflesch|6 years ago|reply
Happy MacOS users.. In linux land, we have gnome shell which simply removed support for menubar icons and have never re-added the functionality since. Goodbye dropbox, slack, skype menubar icons. Try using some hacks to see their icons again.

I'm very bitter about this.

[+] noisem4ker|6 years ago|reply
Unhappy Linux users, start appreciating the variety of choices you have in terms of desktop environments. You don't have to suffer because you feel subjugated by GNOME. I suggest trying KDE for a while, if you want to know what being treated as a competent user feels like.
[+] microtonal|6 years ago|reply
Me too. And the extensions are quite buggy. gnome-shell crashes less often since I've removed them. But now I end up with inaccessible (except by launching the app again) Skype, Spotify, etc. instances.

This behavior is also difficult to understand for novice users.

I understand that the implementation of systray icons were a hack. But don't remove basic functionality until there is a supported replacement.

On the other hand, this should not have come as a surprise. They have also removed menus and replaced them by incomplete, unusable hamburger menus.

/grumpy GNOME user

[+] d4rti|6 years ago|reply
I run KDE on my personal desktop and we have the system tray icons.

Now if I could figure out Mac style copy and paste it would be just about perfect.

[+] rmellow|6 years ago|reply
And Application Menus as well have been forcefully disabled. I moved to KDE after that and surprisingly, it's lighter. Considering that I don't have to rely on Gnome Shell hacks for basic functionality, my KDE system is even more stable.
[+] diffeomorphism|6 years ago|reply
You mean system tray, right?

It is still there just in the bottom left instead of the top right. Also, you know that you can use any panel or dock you like in gnome shell? For example lxpanel, tint2,...

[+] heavyset_go|6 years ago|reply
GNOME shell user here with menubar icons, it isn't a problem for me.
[+] ohazi|6 years ago|reply
I've been using XFCE since Gnome 3 was released. It can be configured to look almost exactly like Gnome 2 did, and supports the menubar icons and indicators that Gnome decided to drop.
[+] m-p-3|6 years ago|reply
Me too, these icons served a useful purpose. I'm still salty about not seeing my Syncthing-GTK status there anymore..

Elementary also got affected by this.

[+] stinos|6 years ago|reply
Reading the title I interpreted this as "utility which figures out which icons you hardly use and puts them away". That's not what this does, but it is an interesting idea nonetheless. I wonder if this has been implemented somewhere (don't care which OS). I.e. I see a lot of desktop software which defaults to discoverability (well, I think that is the choice made): show the user a wealth of menus and buttons and status bars. Then in reality the user uses 1% of these buttons, and the rest is just there eating screen space. For writing, programming and graphic design this can be quite a lot of space. Automatically shrinking that space by removing buttons the user never used after months could help some users a bit I think. It's not the first time I encounter people complaining about screen estate while sitting in front of an unconfigured Visual Studio instance with menu bar, 2 rows of buttons and status bar all on. That's like 5 lines of code, depending on font. (and if you point to random icons and ask 'what does this button do?' they don't know, so it really is a waste)
[+] gmueckl|6 years ago|reply
This is exactly what MS tried with Windows and Office in the late 90s. People hated it and MS has since removed this automatic adaption completely.

Office menus in particular took on a shortened form with only the most used items. You had to explicitly expand them to see the remaining items that Office considered irrelevant to you. This has two major problems: the UI became incomsistemt between users, too dynamic and therefore comfusing. Amd even though users used a particular 1% subset of an Office program today, it would be a different subset the next day or the next week. This sent them constantly hunting for menu items that "should be there".

All of this was replaced with the ribbons makeover. Now, the interface is not adapting to the user, but to the current context. Although I don't like that interface very much, it is at least less surprising.

[+] _jal|6 years ago|reply
Personally, I hate it when applications seemingly randomly alter the interface. It breaks my memory of where things are; I have to stop and stare at things to figure out what happened and where that icon went.

It is like having a "helper" who hides your tools.

[+] Angostura|6 years ago|reply
I just commmand-drag the ones I don't want to the Trash and they're gone.
[+] crazygringo|6 years ago|reply
What, what?! You're right... how have I used Macs for decades and never known this!

Does that always work for third-party icons too? They don't get re-added every time you start up or anything? (Curious what you do if you change your mind and want one back.)

[+] givinguflac|6 years ago|reply
This is great! Bartender works well but I never wanted to buy it for something so trivial. Thanks dev!
[+] gregoriol|6 years ago|reply
Bartender is a big bit more advanced than this implementation, but it's nice to see some competition!
[+] cerberusss|6 years ago|reply
I wonder what happens if you drag the | button past the > hide buttom and then click hide :)
[+] Corrado|6 years ago|reply
This looks really cool, not quite as functional as Bartender but definitely more affordable. However, I'm really looking for a way to hide app icons in the Dock and/or fast switch dialog. Things like my VPN connection or Anti-Virus program are always showing up when I Alt+tab between programs and it's annoying. Is there a simple, native way to hid those things?
[+] jakobmi|6 years ago|reply
Tiny improvement suggestion: remove the "collapse" button and show the residual items on mouse hover of any of the top right menu bar area automatically. Save me the extra clicks. That would be exceptional user design :) Right now, it's not worth the extra 2 clicks for "a cleaner look", so I did not download
[+] mshafer|6 years ago|reply
Love how you've hacked the purpose of menu bar buttons to create such a simple user interface - no separate menus or configuration, just drag things around!
[+] nyxtom|6 years ago|reply
Haha, I’m glad I’m not the only one who wanted this! Nice work
[+] docdeek|6 years ago|reply
An alternative to Bartender?
[+] saagarjha|6 years ago|reply
This just seems to add spacers.

Edit: it apparently hides icons as well, though it does them differently than Bartender.

[+] samat|6 years ago|reply
brew cask, anyone?
[+] milani|6 years ago|reply
Why "written in Swift" is of any importance to be in the title?
[+] viraptor|6 years ago|reply
Not sure about this specific app, (it's unlikely to be heavy) but it's a nice indicator of "native". As opposed to yet another electron / java / whatever heavy runtime app.
[+] e1ven|6 years ago|reply
Its OSS. The language is good to know for anyone who might be interested in assisting.
[+] yborg|6 years ago|reply
HN: HackerNews

Please don't mention anything related to software development, this upsets the hackers.

[+] _jal|6 years ago|reply
Same reason you see engine details mentioned when talking about cars at car forums.
[+] Razengan|6 years ago|reply
The same reason other projects mention "in Rust" "in Haskell" etc.
[+] Copenjin|6 years ago|reply
Thanks for making the code public, but since it's the first time I see something like this, I don't see why you shouldn't slap a $5 price tag on it on the Appstore :)
[+] WaltPurvis|6 years ago|reply
Maybe the author doesn't want the hassle of supporting commercial software or just feels like giving it away.

At any rate, Bartender has been around for years, works great, and has a ton more features.

[+] toomim|6 years ago|reply
Wow. What I always liked about MacOS was that there weren't too many menubar icons to begin with.

Back in the days of Windows 98, it became typical for every application you installed to make a little icon in the "System Tray". Each app wanted to advertise itself and its (usually useless) features. The System Tray became a dustbin of crap. Eventually windows had to auto-hide them, just like you do with a dustbin.

Windows also burdened users with useless notifications, for things like "Battery charged!" and "Battery at 80%", that would constantly distract you. This happened so much that PhDs in Computer Science wrote entire dissertations and approaches to use machine learning to determine the optimal time to interrupt the user with notifications, in an attempt to intelligently unburden users from this nonsense. (http://reports-archive.adm.cs.cmu.edu/anon/hcii/CMU-HCII-06-...)

OSX solved this problem by abstaining from those useless notifications and icons to begin with. They didn't provide an API for app developers to add menubar icons. So few did. But then developers wrote hacks to do so. Now there are so many that they've become a dustbin again, and we need a new app to hide them. It's Windows 98 all over again.

Here's an idea -- if you are noticing useless menubar icons, get rid of them. Don't invent a new icon, that has the ability to hide other icons, and then try to come up with a UI (or machine learning system) to discern which icons need to be shown and hidden. Just get the design right in the first place.

Ahh... I know I know... Steve Jobs is dead... and now the whole philosophy of getting the design right is a minority opinion. sigh