microsoft / microsoft/PowerToys

Notification When X

Open
#48,015 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs-Triage
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Description of the new feature / enhancement

Many systems and programs, especially related to coding and local AI inference tools, lack audible or at least visible notification systems when a task has completed or when a change occurs.

This is especially true for when we as developers run single use powershell programs or small python code projects that are tasked with doing something minor, but that which will take a long time.

I propose a convenient powertool which allows us to set up a watcher program, to watch a program/part of the screen/window/tab for us so that we don't have to. A powertool that universally watches for changes in programs that we specify it watch for.

Simplistically, it could watch for a percentage to finish, a page to update/refresh. Pixels to update at its most simplistic. Text to change in a content box, etc.

The powertool could be configured to push a sound notification, or a visible windows pop-up notification so that we do not miss that whatever small program we've set up has finished, without making us append a snippet of notification code to every codebase we download or command we run.

### Scenario when this would be used?

For myself, there are many small programs that I have written using LLM coding agents, or many times when I myself am coding in powershell, running a process and waiting for it to finish, where there is no audible notification or visible notification for the software to push to me to notify me of when it's done. Adding notification code to small-scale, even single-use systems, at least when not interfacing with powershell itself, often requires opening up a codebase and finding the exact right files to append such a thing to, or downloading external peripheral programs dedicated to this purpose. Tedious.

This proposal asks for an easy to use, power tool that would enable users and developers to not have to append an audible notification system to every tiny coding project and quick command they run. To let them set up a quick program to run, trigger a Powertools hotkey, and smoothly draw the watcher window, highlight the text, etc. And have this tool watch that part of their screen/minimised window or tab, for them while they work on other things.

This is geared towards letting a power user use a Powertool so they can get back to work, and not have to pop back in for frequent checkups on their long-running commands.

What's beneficial to this proposal is it circumvents shoddier program's notification systems, with one universally applicable notification system. Many small developer builds make silent update logs or only push audible or system visible updates to the user when the window is actually in focus, which defeats the purpose of an audible notification. Having a universal way to notify is superior to requiring all programmers make reliable systems for their own bespoke systems .

One real world example of how not having a universal, watching notifier system causes problems can be seen in the small developer program 'ForgeNeo:' a local Ai-image-gen interface. The program has a native, audible notification system, but laughably requires the user to upload their own mp3 sound effect into an unspecified folder to enable it, and even when you do, the program renders the played sound non-functional when the program's web-server page is out of focus. Rendering the small-dev dictated feature moot and the user experience worse for it. Many-_many_ small or niche programs I've used, have unusable or non-existent notification behaviour like this, which forces a user to either set their program up in the background and forget it's running, waste time making a bespoke fix for it, or set it up and just watch the screen for the update you're waiting for.

Just to reiterate, it's not about making a mono-applicable fix for some niche local Ai tool or such nonsense like that. The purpose is to make a universally applicable system where I can draw a box on my screen, highlight a window, a program, a tab, and identify what I want the power tool program to look within that, to look for the update I want to be notified of. And to let me ignore things that _should be background programs, like tiny powershell programs running to sift through a couple gigs of data.

A universal notifier, would be flexible, program agnostic, and really handy. As a windows power user, I would really like something like this; something that could permanently take manually checking on running systems off my mental checklist. To let me not have to hope every developer has thought of Notification system QoL features or to force me to mod them in myself.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by reviewing existing PowerToys utilities and Windows notification, window, and screen-monitoring capabilities to define a focused scope. Done would require an agreed interaction model and a demonstrable watcher that detects a specified change and produces the requested notification.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell, python
Domain
desktop, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.