I looked into various methods and produced prototypes, which I have detailed below:
- BurntToast - this was originally the expected solution as it was aesthetically pleasing and integrated with the Action Center. Unfortunately it only displayed for 5 seconds which could have easily been missed by the user.
- Balloon Tip - aesthetically please, very simple and easy to customise the text. Unfortunately it had the same 5 second duration limit, as well as an inability to add buttons (either the whole box was clickable or not).
- AnyBox - displayed front and center so it was impossible to miss, it remained on-screen until interacted with (but would move to the background if an application was opened over it). It was also easy to customise text/buttons/background colour, but was ultimately deemed too intrusive.
- Full Screen Banner - full width of the screen so impossible to miss, remains on-screen until interacted with (but would move to the background if an application was opened over it), customisable text/button/background colour. This was however the most intrusive option and less aesthetically pleasing.
- PowerShell Form - front and top left of screen, remains there until dismissed (does not move to background), customisable text, text-background colour and buttons. Again, somewhat intrusive and possible limited aesthetics.
- The Solution - eventually some online XAML examples were found that could be combined with PowerShell to produce a popup that mirrored the Windows 10 Action Center theme, with an unlimited display-time. It remained on-screen but moved to the background, allowed for customisable buttons for interactivity and was relatively straightforward to customise.
In Part II of this blog I will go into more detail about the functions and code for the solution I developed.
Thanks for the shoutout Phil! The documentation linked above has a new home:
ReplyDeletehttps://www.donaldmellenbruch.com/doc/anybox/
Also, see the new quickstart guide on my GitHub:
https://github.com/dm3ll3n/AnyBox
I'm glad the AnyBox was a contender! After reviewing this article, I suppose I could add a `-StartupLocation` parameter to the AnyBox, which would allow you to specify the x,y coordinates for where you'd like it to start up.
I used the AnyBox for something similar in the past; you may get use out of the `-Timeout` and `-Countdown` parameters that AnyBox offers.
Cheers!
Hey!
DeleteNo problem at all - I have updated the link you have supplied, thank you.