ProgressWindow stays on top when Zotero is minimized on macOS - any alternatives?

12 views
Skip to first unread message

José Fernandes

unread,
Jan 31, 2026, 1:42:01 PM (6 days ago) Jan 31
to zotero-dev
Hi everyone,

I'm developing a Zotero plugin and got a bug report about ProgressWindow staying visible when Zotero is minimized to the dock on macOS. The progress popup floats above all other apps, which is confusing for users.

I traced it to progressWindow.js line 130:

    _progressWindow = _window.openDialog("chrome://zotero/content/progressWindow.xhtml",
        "", "chrome,dialog=no,titlebar=no,alwaysontop=yes");

The "alwaysontop=yes" keeps it above everything, even when Zotero is minimized.

I noticed progressQueueDialog.js uses "dependent" instead, which correctly makes the window follow its parent when minimizing on macOS.

From the plugin side I tried:
  • Setting win.opener = mainWindow after creation (doesn't affect z-level)
  • Modifying xulWin.zLevel to normalZ (read-only after creation)
  • Creating custom window with "dependent" (works but requires reimplementing all ProgressWindow functionality)

A few questions:
  1. Is there a recommended way for plugins to show progress that respects macOS window management?
  2. Would changing "alwaysontop=yes" to "dependent" in progressWindow.js be reasonable for macOS? Or is there a specific reason alwaysontop is used?
  3. Is there an alternative API I should use for long-running operations?
Happy to submit a PR if there's interest in changing the core behavior.

Thanks!

References:
Reply all
Reply to author
Forward
0 new messages