/** @brief Events that change this icon, separated by spaces */
const char *events;
+ /** @brief Event to raise when the icon is frobbed */
+ const char *raise;
+
/** @brief @ref eclient.h function to call to go from off to on
*
* For action buttons, this should be NULL.
.action_go_on = pause_track,
.action_go_off = resume_track,
.events = "pause-changed playing-changed rights-changed playing-track-changed",
+ .raise = "pause-changed",
.menu_invert = TRUE,
},
{
.action_go_on = enable_random,
.action_go_off = disable_random,
.events = "random-changed rights-changed",
+ .raise = "random-changed",
},
{
.toggle = TRUE,
.action_go_on = enable_playing,
.action_go_off = disable_playing,
.events = "enabled-changed rights-changed",
+ .raise = "playing-changed",
},
{
.toggle = TRUE,
if(suppress_actions)
return;
icon->action_go_off(client, icon_action_completed, 0);
+ if(icon->raise)
+ event_raise(icon->raise, 0);
}
static void toggled_icon(GtkToggleToolButton attribute((unused)) *button,
else
icon->action_go_on(client, icon_action_completed, 0);
icon_changed(0, 0, user_data);
+ if(icon->raise)
+ event_raise(icon->raise, 0);
}
static void clicked_menu(GtkMenuItem attribute((unused)) *menuitem,