Overview:
Before I go too deep into the documentation, I wanted to ask a few basic questions.
My goal of all this is to customize the default message notifications, which appear in the lower right hand corner of the screen, specifically when chatting in MS Teams. Note I am interested only in Windows, not mobile.
Use case:
I send the GitHub Bot a bogus chat message, just to show a notification coming in for demonstration purposes:
This notification will disappear after some predetermined amount of time (around ~15s, at least on my machine)
Question(s):
Would it be possible to create a message extension of sorts, which wraps the default messaging behavior?
For example, I would want to:
Let the notification sit in the lower right hand corner until acted upon, rather than have it disappear. Or, is this the behavior of the OS, rather than Teams?
Change the color, and format of the message. Effectively, intercept the message, and display it in different format, font, color, icon etc.
I only see notifications in the lower right hand corner, if and only if Teams is minimized, or out of view. Would it be possible, if intercepted, to display the notification, regardless if Teams has focus, and is in the foreground. For example, if I am in Teams, and a notification appears (say someone sends me a message), the ‘Chat’ icon in the upper left hand corner will display an alert. I would like to also have the notification appear in the lower right hand corner of the screen.
Lastly, say for example Teams is in the foreground, and you receive a notification. By default, the Teams icon in the toolbar will flicker and update the badge number on the icon. Is there any way for a developer to update the icon, or possibly draw additional attention to the icon, aside from the red badge.
Note that these are all things I would like to do from a personal standpoint. The odds of another developer wanting these sort of changes are slim to none, which is why I would like to build something myself, opposed to a file feature request.
Of course, anything is possible, but I don’t want to hack something together that will break in a week. I’d rather see if I can build upon whatever API’s are out there to do this sort of thing.
Note that I'm not looking for a solution, but rather a brief yes or no for the questions above, and possibly a pointer to specific documentation that could aid in my investigation.
Thanks!