diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c index 74119d1a..c5611f97 100644 --- a/plugins/tasklist/tasklist-widget.c +++ b/plugins/tasklist/tasklist-widget.c @@ -2440,6 +2440,18 @@ xfce_tasklist_wireframe_update (XfceTasklist *tasklist, #endif +gboolean get_suggested_action_state(GtkWidget* button){ + GtkStyleContext *context=gtk_widget_get_style_context(GTK_WIDGET(button)); + return gtk_style_context_has_class(context,GTK_STYLE_CLASS_SUGGESTED_ACTION); +} + +void set_suggested_action_state(GtkWidget* button, gboolean active){ + GtkStyleContext *context=gtk_widget_get_style_context(GTK_WIDGET(button)); + if(active) + gtk_style_context_add_class(context,GTK_STYLE_CLASS_SUGGESTED_ACTION); + else + gtk_style_context_remove_class(context,GTK_STYLE_CLASS_SUGGESTED_ACTION); +} /** * Tasklist Buttons @@ -2477,7 +2489,7 @@ xfce_tasklist_button_visible (XfceTasklistChild *child, ? wnck_window_is_in_viewport (child->window, active_ws) : wnck_window_is_on_workspace (child->window, active_ws))) || (tasklist->all_blinking - && xfce_arrow_button_get_blinking (XFCE_ARROW_BUTTON (child->button)))) + && get_suggested_action_state(XFCE_ARROW_BUTTON (child->button)))) { return (!tasklist->only_minimized || wnck_window_is_minimized (child->window)); @@ -2800,11 +2812,11 @@ xfce_tasklist_button_state_changed (WnckWindow *window, g_hash_table_lookup_extended (child->tasklist->class_groups, child->class_group, NULL, (gpointer *) &group_child); - xfce_arrow_button_set_blinking (XFCE_ARROW_BUTTON (group_child->button), blink); - } + set_suggested_action_state(XFCE_ARROW_BUTTON(group_child->button), blink); + } /* otherwise just let the window button blink */ else - xfce_arrow_button_set_blinking (XFCE_ARROW_BUTTON (child->button), blink); + set_suggested_action_state(XFCE_ARROW_BUTTON(child->button), blink); if (child->tasklist->all_blinking && !xfce_tasklist_button_visible (child, active_ws)) @@ -3191,7 +3203,7 @@ xfce_tasklist_button_activate (XfceTasklistChild *child, if ((child->tasklist->all_workspaces && !wnck_window_is_pinned (child->window)) || (child->tasklist->all_blinking - && xfce_arrow_button_get_blinking (XFCE_ARROW_BUTTON (child->button)))) + && get_suggested_action_state(XFCE_ARROW_BUTTON (child->button)))) { workspace = wnck_window_get_workspace (child->window);