Slack's little red dot is useful for telling you when you have unread messages, or people directly mention you with #yourname. But unfortunately it also shows up when people use #here or #channel - which quickly leads to you ignoring messages and missing ones that actually matter.
Is there some way to keep having the red dot for personal messages, but to lose it for inane #here and #channel mentions?
This link describes how to change your notification preferences for a channel.
Open the channel or group DM.
Click the gear icon to open the Channel or Conversation settings menu.
Select Notification preferences.
Choose your notification preferences, and whether you'd like to use different settings for mobile devices.
Click the close icon in the top right to save and exit.
Related
On Plasma desktop, I use a Firefox instance to chat on mattermost (I does not want to use the electron-based app due to several reasons). However, even allowing notifications on firefox, when new message comes in there is only system notification (and sound), staying about 5s. The icon is not highlighted, as many chat apps do. If I'm not sitting at my desktop at the moment when new message arrives, I'll miss it because the system notification is gone and no highlights on taskbar icon.
So, possible when new notification comes, is it possible that Firefox taskbar icon stays light up until I switch to it?
Highlight here means the orange color in default plasma theme, like the right-most icon in this figure:
highlighted app
I tried googling on two directions:
Let Firefox light up itself. I searched Firefox configs about how to highlight taskbar app, because other chat apps can highlight their icons, so there must be an protocol on handling taskbar icon.
Let the system light up the Firefox icon once it has a notification. I observed that when I click an url, Firefox icon is highlighted, and it goes normal when I switch to Firefox (the switch is not automatic, since I use Wayland). Similar things happens on dolphin, if I open a new location from command-line. So focus switching may cause taskbar icon to be highlighted. But I can't found any effective method to configure this behavior. I cannot find a way to change the highlight color, either (maybe try a different theme can change the color but I prefer to stick with the default one)
I'm using a plugin for my shell that displays a notification when a long running command has completed. To do this on macOS, it's using AppleScript:
osascript -e "display notification \"$message\" with title \"$title\""
When this notification pops up, it has to time out to disappear; I cannot dismiss it.
This blocks me often as it covers my browser tabs in the top right of the screen.
I've seen similar notifications that have buttons to close them, e.g. Slack message notifications.
How can I add a "Close" button to the notification?
The "Mac Automation Scripting Guide" gives an example of this.
The guide states the difference is determined by your settings.
Notifications are shown as alerts or banners, depending on the user’s settings
To change notification settings to include buttons, go to
System Preferences > Notifications > Script Editor > Alert Style > Alerts
It's unclear how to change the AppleScript command to include the buttons when using the default "banner" notification style. It may be possible as other applications always show their notifications with buttons.
For more info on AppleScript commands and its parameters, (1) launch Script Editor and (2) open the Standard Additions dictionary, then (3) navigate to the command’s definition.
Possibly of interest, there's an open-source command line utility on GitHub, https://github.com/vjeantet/alerter, which allows you to do this, and to specify many more notification options on an alert-by-alert basis. Alerter gives you much more control over alerts than AppleScript's display notification.
Alerter allows you to create an alert with numerous options: a custom icon, custom button labels, up to three different kinds of actions to replace the default "show" button on the alert, a specified application or URL to open when the alert is clicked, a Reply box like when you receive an iMessage, a way to group and remove previously display alerts, and many more.
Alerter can give you complete control over the buttons displayed, per alert, by specifying options in the shell command you enter to create each alert. You can specify apps or urls to open when the alert is clicked, or, if you use multiple options in the alert, your script will have to process the text returned to determine which option was selected.
(Note: https://github.com/julienXX/terminal-notifier is the original project Alerter was forked from. Terminal-notifier includes a few minor extra abilities that Alerter doesn't, but doesn't give you the same control over the buttons. If you want to include a lot more functionality, it might be worth reviewing both projects.)
I'm not involved with Alerter or Terminal-notifier, just a user.
To expand on Dennis' answer:
You can set the style of notification on a per app basis in:
System Preferences > Notifications > Script Editor > Alert Style > Alerts
In the screenshot in his answer he's changing the setting for notifications generated by the 'Script Editor' app.
I had to change it in 'Automator' to get my custom scrips to have close buttons.
I implement a notify icon for my application by call Shell_NotifyIcon.
In the default, the notify icon display in the notify icon area instead of task bar in windows 7.
If the user want to show the notify icon in the task bar, he/she need to open the Notification Area Icons control panel item, find the application and set "Show icon and notifications" for the application.
I think it will be difficult to the user with poor windows knowledge. I want to implement this function that show the notify icon in the task bar in my VC++ code or installer. Is it possible? If yes, what should I do?
Appreciate.
No, this is not possible.
Windows 7 introduces a feature where notification icons can be hidden. It is an attempt to reduce the noise created by decades of developers dumping notification icons in the taskbar for no good reason.
In order for that feature to work effectively, there can't be a loophole for applications to get around it, because everyone thinks their application is the most important and the most deserving of prime real estate. Eventually, nothing is sacred anymore.
Raymond Chen has blogged about this very request, and provides some additional background info.
You just create the notification icon and provide the user with instructions in the documentation on how to show it permanently, if they so desire.
Why not just pin your application to the task bar? They can just click it and it will launch the application?
I want to check for changes in the aplication state every time interval, and if it has changed, to open a window, and give the user 10 seconds to press on the window, if he does press on the window, then to allow him to navigate freely in the window, and if he doesn't press, to return back to the window before. I thought to implement it with a thread running in the background and waking up every time interval I want. Maybe there is a better way?
This strikes me as a scenario with lots of potential issues.
How do you stop the "window" appearing at an inconvenient time to the user? (e.g. when they were just about to tap on som.ething)
Why not just raise the notification when the state actually changes? This way you wouldn't need to poll.
What is the "Window" you are displaying? How does it differ from the page it is replacing? Is this a popup or are you actually navigating to a different page?
What is the state that's changing? How is it changing without user interaction?
Can't you notify the user of the state change without a potentially intrusive display of a new "window"?
I agree with #matt-lacey, this could be dangerous and might result in a bad user experience.
With that said, this might work
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
//navigation code here
});
I didn't know you could do a pop-up window, could you elaborate?
I've made a thread that is running at the background and making some work, if it decides that a change is necessary, I want to give the user a chance to react to it, or ignore it.
I'm pretty new to this, so if there is a better way than to navigate to a different page i would love to hear it.
Thanks.
It sounds to me like you want to notify the user that something has happened/changed and give them the option to do something about it, which is exactly what "toast" notifcations are all about. They pop up at the top of the screen to inform the user, and then the user can tap that toast to do something, e.g. when WiFi networks are available, you tap the toast to select an available network.
The Silverlight Windows Phone Toolkit includes the ToastRequestTrigger that you use to display toast notifications. The Windows Phone Developer Guide from the patterns & practices team gives examples of using the ToastRequestTrigger. You will need to implement the tap handling yourself in the toast content, but this should be simple enough.
I'm used to working with a Windows framework that provides events for things like a mouse click or a mouse double click. Are click events a Windows construct (i.e. does Windows send a WM_DOUBLECLICK or similar message) or does it send WM_MOUSEDOWN and WM_MOUSEUP to applications which then do some math to decide if the event was a click or otherwise?
According to MSDN documentation The correct order of messages you will see for double click event are - WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK, and WM_LBUTTONUP
It's a combination of messages sent through the WindowProc(). The messages are WM_LBUTTONDOWN, WM_LBUTTONDBLCLK, WM_LBUTTONUP for the left mouse button, WM_MBUTTONDOWN and so forth for the middle button, and WM_RBUTTONDOWN and so forth for the right mouse button. See the Windows SDK at MSDN for more info.
A mouse click is not a combination of windows messages, but it can lead to, depending on the application that is clicked.
There is a huge difference between windows input and windows messages, as they are only a tool for some applications, used in many different ways, as explained on MSDN:
About Mouse Input
System Events and Mouse Messages
I also provided an example that shows the difference clearly in my question How could it work to use multiple cursors on one Windows client? It shows what messages are sent by clicking and that windows messages are often not enough to emulate a mouse click, but if they are, how they can be used.