Dozer icon indicating copy to clipboard operation
Dozer copied to clipboard

auto hide status icons after 10 secons invalid

Open AriaLyy opened this issue 5 years ago • 4 comments

my version image

mac os version 10.14.6

AriaLyy avatar Nov 22 '19 08:11 AriaLyy

Please provide some more information on the issue you are experiencing.

AndrewMast avatar Nov 22 '19 16:11 AndrewMast

I have the same problem

kgrandly avatar Dec 01 '19 12:12 kgrandly

@AndrewMast This happens if the icon status is constantly refreshed。 image

AriaLyy avatar Dec 20 '19 06:12 AriaLyy

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.

Rhys-T avatar Dec 15 '23 00:12 Rhys-T