Dozer
Dozer copied to clipboard
auto hide status icons after 10 secons invalid
my version
mac os version 10.14.6
Please provide some more information on the issue you are experiencing.
I have the same problem
@AndrewMast
This happens if the icon status is constantly refreshed。
I'm still having this problem in Dozer 4.2.0.
It looks like Dozer tries to check if you're currently interacting with a status item before auto-hiding, but can get false positives in certain situations, particularly if there's more to a given app than just a status item. Basically, if any one app (besides Dozer itself) has both:
- a status item, and
- a non-status-item window (for an extremely broad definition of 'window') whose top edge is either at the bottom edge of the menubar, or up to 8 points[^points] below it
then it assumes that window is a menu (or similar) belonging to that status item, and stays open.
In my case, I had used Hammerspoon to create an overlay covering the entire desktop area of one monitor… which, of course, starts just below the menubar. So as long as Hammerspoon also has at least one status item - either one created by me, or its builtin controls - Dozer won't auto-hide. At least in that case, the status item doesn't have to be constantly updated at all: I can turn off all of my menus and the builtin one, do testMB = hs.menubar.new()
without any additional code to set the menu up, and load the desktop-overlay code, and Dozer stops auto-hiding things.
@AriaLyy I don't recognize most of the status items in that screenshot - could any of those apps also have windows near the top of the screen? Note that 'window' here really means basically anything that the app can draw into - including menus, overlays, etc. - not just things that look like normal windows.
Unfortunately, I'm not really sure how Dozer could reliably tell whether or not a given 'window' really has anything to do with the same app's status item or not…
[^points]: Like pixels, except that if you're on a Retina screen, they're actually clusters of several pixels so that things aren't tiny.