When an application requests urgent notification, the window button starts to blink until it has been clicked. It would be great if the blinking times out after a while (e.g. 15sec) without the need of clicking the button.
I have had a look at the panel code. There already is a system to limit the number of blinks, but it is set to G_MAXUINT. For all intents and purposes, it might aswell be infinite.
I changed that value to 8, resulting in 4 blinks. However, it seems random whether it stops in a highlighted state (preferred) or not. It also should be a configuration option rather than hardcoded.
It seems like other desktops will blink the button some fixed number of times and then stick highlighted until clicked. I don't think we need a config item in the GUI for the number of blinks. Something like the current patch (but using an odd number, to make it stick highlighted) would be perfect, or at least less annoying than the current blink-forever behavior.
The current blink-forever behavior becomes an issue when you're using IM or IRC and get a notification when you're in the middle of a task you don't want to interrupt.
Any chance the blink limiting could be added to the next release of XFCE? I know it takes time to develop a GUI option to set the number of blinks, but couldn't we just have it set a sensible default for now? Somewhere between 3 to 5 blinks seems tolerable.
MAX_BLINKING_COUNT was originally defined as (16) in 2010-2011. Then "fixed" to (G_MAXUINT) because of the "regression" in bug #7583.
In bug #7746 (enhancement) Nick Schermer wrote: "We can do this with style properties". I don't know what he referred to, but he resolved the enhancement as WONTFIX.
I am willing to implement GUI options in Window Buttons settings window to configure this value if Xfce4-panel maintainers don't mind reviewing and eventually merging such a feature. For example, there could be a GtkCheckButton "Limit the number of button blinks", a GtkSpinButton "Maximum button blink count" and another GtkCheckButton "Keep button highlighted after blinking timeout". Alternatively, the GtkSpinButton and the second GtkCheckButton could be merged into one GtkSpinButton with a tooltip explaining how odd/even values affect the final highlighted state. A minimal UI could be a single GtkSpinButton populated by default with the default max blink count (G_MAXUINT).