Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Certain system tray windows and interstitials being treated as regular application windows, cannot close or remove #23

Open
DanBurkhardt opened this issue Feb 24, 2024 · 0 comments

Comments

@DanBurkhardt
Copy link

DanBurkhardt commented Feb 24, 2024

Description:

Interstitial and notification style windows, as well as System Tray Application Windows have been picked up by StageManager as if they were full application windows, resulting in these transient or utility windows permanently occupying the stage manager sidebar.

These windows are pulled into the SM sidebar, and once they are there, they cannot be selected, opened, or closed.

Current Version & Env Info

  • StageManager v0.0.27

  • Windows 10 Pro (latest release)

  • Intel NUC 13 Extreme w/ Core i9 13900K & Intel Arc UHD 770 iGPU

  • The display on which this bug was observed is using an RTX 4080 Super dedicated GPU (not sure if it matters)

  • I do have a second 1080p display driven by the Arc iGPU via DisplayPort over Thunderbolt 4, have not tested if this happens on that display due to it not being primary


Reported Bug Observed with following applications:

  • Razer Synapse: (interstitial window appears when increasing or decreasing the mouse sensitivity)

  • PowerToys: the system tray window is pulled into StageManager after opening and closing

  • I suspect there will be bugs like this with many many applications that do interstitial notifications and system tray applets.


Steps to reproduce:

  1. Launch StageManager v0.0.27

  2. Run any of the above applications from the system tray, or perform a triggering event, like adjusting mouse sensitivity with Razer Synapse

  3. While the system tray window or interstitial is open, click on either another application, or another StageManager application window group

  4. Observe that StageManager has captured these non-application windows, visible in the side bar (see attached)

  5. Attempt to close or click these windows as they are shown in StageManager side bar, and observe that they are neither maximized or made active, nor are you able to actually close them

  6. In the case of PowerToys, the system tray menu is treated by StageManager as if a new application window was launched, vs an overlay


Workaround

This is the only approach I found that worked every time:

  • Exit StageManager completely, or kill the task

  • Once StageManager releases the application Windows, they will usually appear in the location where they were first captured

  • Click them, or see if there is a close box to get rid of them

  • If not, simply re-open the system tray window and re-close it, or trigger the event that launched the interstitial. As long as SM is not active, these temporary windows will close or disappear normally.


Suggested Fixes:

  • Given that system tray menus are meant to function like overlays, temporarily appearing and disappearing from the system tray area, I think it would be reasonable to ignore any window originating from the system tray area, as well as any menu launched from that area by selection of a system tray item.

  • Also, since interstitials and custom notification overlays are transient, and would need to appear generally at the highest level of the window stack within the display (unless a fullscreen app is running), these should also be ignored by SM

  • I think adding support for an "X" or close action on per-application group that pops all application windows in that group from the stack and removes them from the SM sidebar would be great tbh and a good workaround for edge cases like this (e.g. by right-clicking a group and explicitly closing all)

  • SM could add a system level service option to permanently ignore "this application's windows" to the list of options you get when you right click any open application in the taskbar, or perhaps by right clicking on the application window's top bar. E.g.: I do not want SM to manage or otherwise interfere with this application, so I could right-click the icon, or window bar, and select "Tell StageManager to ignore this application", or something like that.


Screenshots:

stagemanager-power-toys-system-tray-pulled-into-sidebar

stagemanager-power-toys-treated-as-application-window

stagemanager-razer-synapse-persistent-interstitial




Note:

Btw, I'm really supportive of this project-- as an avid macOS user for work / daily / development use, I have come to really appreciate Stage Manager and I have been missing it lately while working on windows.

Thank you for your work, and I am happy to test new releases if you are looking for volunteers!

@DanBurkhardt DanBurkhardt changed the title [BUG] Certain system tray windows are being treated as regular application windows [BUG] Certain system tray windows and interstitials being treated as regular application windows, cannot close or remove Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant