PDA

View Full Version : Urgent is not so urgent, apparently



mikealec
16th September 2013, 04:23 AM
In Fedora 19, of LXDE, Cinnamon, Cinnamon (software), GNOME, GNOME Classic, MATE, and Xfce, only MATE and LXDE seem to honor the "urgent" hint in their Windows icons lists. I have not tried KDE.

My pidgin/skype windows generally wind up buried or minimized and so I rely upon the flashing icons for the windows to alert me to a message.

Has anyone been able to get this to function in Xfce?

I know Xfce has the "enable urgent" and "keep urgent flashing" options (I think they're under the Accessibility tab if I remember correctly) but those only affect the title bar of the window, not the icon in the windows list. And I could swear this used to work in Xfce back in the FC16/17 days. I'll have to dig up some old LiveCDs and give it a try.

Here is a quick example program to test how the urgent hint behaves in your desktop environment - I take no credit for the code as it's something I found a long time ago, simple as it is.



/* gcc urgent.c -o urgent `pkg-config gtk+-3.0 --cflags --libs` */
#include <gtk/gtk.h>

static void urgent( GtkWidget *widget, gpointer data)
{
gtk_window_set_urgency_hint (GTK_WINDOW (data), TRUE);
}

static void destroy(GtkWidget *widget, gpointer data)
{
gtk_main_quit ();
}

int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
button = gtk_button_new_with_label ("Urgent");
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show_all (window);

g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL);
g_signal_connect (button, "clicked", G_CALLBACK (urgent), window);

gtk_main ();

return 0;
}


LXDE and MATE will both cause Windows icons to flash if they trigger the urgent hint. The rest do not, at least not as they're configured out of the box on a clean Fedora 19 install.