#ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include #include "mixer.h" extern GeneralPlugin docklet_plugin; extern GtkWidget *docklet_box; static void docklet_mixer_scroll_cb (GtkWidget *widget, GdkEventScroll *event, gpointer data) { int vol; int volume_adjustment = 3; if (event->type != GDK_SCROLL) return; vol = xmms_remote_get_main_volume(docklet_plugin.xmms_session); switch(event->direction) { case GDK_SCROLL_UP: vol += volume_adjustment; vol = vol > 100 ? 100 : vol; break; case GDK_SCROLL_DOWN: vol -= volume_adjustment; vol = vol < 0 ? 0 : vol; break; } xmms_remote_set_main_volume(docklet_plugin.xmms_session, vol); } void docklet_mixer_init (void) { g_signal_connect (G_OBJECT(docklet_box), "scroll-event", G_CALLBACK(docklet_mixer_scroll_cb), NULL); }