diff --git a/.cvsignore b/.cvsignore index a0bce07..4759f3a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -gnome-applets-2.23.3.tar.bz2 +gnome-applets-2.23.4.tar.bz2 diff --git a/gnome-applets-2.10.1-use-builtin-apm.patch b/gnome-applets-2.10.1-use-builtin-apm.patch deleted file mode 100644 index 66408b4..0000000 --- a/gnome-applets-2.10.1-use-builtin-apm.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- gnome-applets-2.10.1/configure.in.use-builtin-apm 2005-04-20 09:46:00.000000000 -0400 -+++ gnome-applets-2.10.1/configure.in 2005-04-20 09:46:22.000000000 -0400 -@@ -242,12 +242,10 @@ if test x$disable_battstat = xno; then - case "${host}" in - powerpc-*-linux*) - NEED_LIBAPM=yes -- AC_CHECK_LIB(apm,apm_read,[HAVE_LIBAPM=yes],[HAVE_LIBAPM=no]) - ;; - # list of supported OS cores that use libapm - *-*-linux*) - NEED_LIBAPM=yes -- AC_CHECK_LIB(apm,apm_read,[HAVE_LIBAPM=yes],[HAVE_LIBAPM=no]) - ;; - # list of supported OS cores that do not use libapm - *-*-freebsd*|*-*-netbsd*|*-*-openbsd*) diff --git a/gnome-applets-2.21.1-mixer-sync.patch b/gnome-applets-2.21.1-mixer-sync.patch deleted file mode 100644 index 0d64130..0000000 --- a/gnome-applets-2.21.1-mixer-sync.patch +++ /dev/null @@ -1,309 +0,0 @@ -diff -up gnome-applets-2.21.1/mixer/applet.h.mixer-sync gnome-applets-2.21.1/mixer/applet.h ---- gnome-applets-2.21.1/mixer/applet.h.mixer-sync 2007-07-27 22:02:35.000000000 -0400 -+++ gnome-applets-2.21.1/mixer/applet.h 2007-11-13 09:39:37.000000000 -0500 -@@ -71,6 +71,7 @@ typedef struct _GnomeVolumeApplet { - - /* element */ - GstMixer *mixer; -+ GstBus *bus; - gboolean lock; - gint state; - GList *tracks; -diff -up gnome-applets-2.21.1/mixer/applet.c.mixer-sync gnome-applets-2.21.1/mixer/applet.c ---- gnome-applets-2.21.1/mixer/applet.c.mixer-sync 2007-11-03 20:12:18.000000000 -0400 -+++ gnome-applets-2.21.1/mixer/applet.c 2007-11-13 09:47:09.000000000 -0500 -@@ -79,7 +79,12 @@ static void gnome_volume_applet_orientat - PanelAppletOrient orient); - - static gboolean gnome_volume_applet_refresh (GnomeVolumeApplet *applet, -- gboolean force_refresh); -+ gboolean force_refresh, -+ gdouble volume, -+ gint mute); -+ -+static void cb_notify_message (GstBus *bus, GstMessage *message, gpointer data); -+ - static gboolean cb_check (gpointer data); - - static void cb_volume (GtkAdjustment *adj, -@@ -218,6 +223,12 @@ gnome_volume_applet_init (GnomeVolumeApp - /* i18n */ - ao = gtk_widget_get_accessible (GTK_WIDGET (applet)); - atk_object_set_name (ao, _("Volume Control")); -+ -+ /* Bus for notifications */ -+ applet->bus = gst_bus_new (); -+ gst_bus_add_signal_watch (applet->bus); -+ g_signal_connect (G_OBJECT (applet->bus), "message::element", -+ (GCallback) cb_notify_message, applet); - } - - /* Parse the list of tracks that are stored in GConf */ -@@ -344,12 +355,33 @@ select_element_and_track (GnomeVolumeApp - return FALSE; - - applet->mixer = g_object_ref (active_element); -+ gst_element_set_bus (GST_ELEMENT (applet->mixer), applet->bus); - applet->tracks = active_tracks; - g_list_foreach (applet->tracks, (GFunc) g_object_ref, NULL); - - return TRUE; - } - -+static void -+gnome_volume_applet_setup_timeout (GnomeVolumeApplet *applet) -+{ -+ gboolean need_timeout = TRUE; -+ need_timeout = ((gst_mixer_get_mixer_flags (GST_MIXER (applet->mixer)) & -+ GST_MIXER_FLAG_AUTO_NOTIFICATIONS) == 0); -+ -+ if (need_timeout) { -+ if (applet->timeout == 0) { -+ applet->timeout = g_timeout_add (100, cb_check, applet); -+ } -+ } -+ else { -+ if (applet->timeout != 0) { -+ g_source_remove (applet->timeout); -+ applet->timeout = 0; -+ } -+ } -+} -+ - gboolean - gnome_volume_applet_setup (GnomeVolumeApplet *applet, - GList *elements) -@@ -411,10 +443,9 @@ gnome_volume_applet_setup (GnomeVolumeAp - component = panel_applet_get_popup_component (PANEL_APPLET (applet)); - g_signal_connect (component, "ui-event", G_CALLBACK (cb_ui_event), applet); - -- gnome_volume_applet_refresh (applet, TRUE); -- if (res) { -- applet->timeout = g_timeout_add (100, cb_check, applet); -- } -+ gnome_volume_applet_refresh (applet, TRUE, -1, -1); -+ if (res) -+ gnome_volume_applet_setup_timeout (applet); - - if (res) { - /* gconf */ -@@ -455,6 +486,11 @@ gnome_volume_applet_dispose (GObject *ob - g_list_free (applet->elements); - applet->elements = NULL; - } -+ gst_bus_remove_signal_watch (applet->bus); -+ if (applet->bus) { -+ gst_object_unref (applet->bus); -+ applet->bus = NULL; -+ } - - if (applet->tracks) { - g_list_foreach (applet->tracks, (GFunc) g_object_unref, NULL); -@@ -649,11 +685,11 @@ gnome_volume_applet_toggle_mute (GnomeVo - component = panel_applet_get_popup_component (PANEL_APPLET (applet)); - bonobo_ui_component_set_prop (component, - "/commands/Mute", -- "state", mute ? "1" : "0", NULL); -+ "state", !mute ? "1" : "0", NULL); - - /* update graphic - this should happen automagically after the next - * idle call, but apparently doesn't for some people... */ -- gnome_volume_applet_refresh (applet, TRUE); -+ gnome_volume_applet_refresh (applet, TRUE, -1, !mute); - } - - /* -@@ -916,7 +952,7 @@ void gnome_volume_applet_size_allocate ( - } - - init_pixbufs (applet); -- gnome_volume_applet_refresh (applet, TRUE); -+ gnome_volume_applet_refresh (applet, TRUE, -1, -1); - } - - static void -@@ -966,15 +1002,23 @@ gnome_volume_applet_adjust_volume (GstMi - { - int range = track->max_volume - track->min_volume; - gdouble scale = ((gdouble) range) / 100; -- int *volumes, n; -+ int *volumes, n, volint; - -- volume *= scale; -- volume += track->min_volume; -+ if (volume == 1.0) { -+ volint = track->max_volume; -+ } else if (volume == 0.0) { -+ volint = track->min_volume; -+ } else { -+ volume *= scale; -+ volume += track->min_volume; -+ volint = lrint (volume); -+ } - - volumes = g_new (gint, track->num_channels); - for (n = 0; n < track->num_channels; n++) -- volumes[n] = lrint (volume); -+ volumes[n] = volint; - gst_mixer_set_volume (mixer, track, volumes); -+ - g_free (volumes); - } - -@@ -1025,6 +1069,8 @@ cb_volume (GtkAdjustment *adj, - - applet->lock = FALSE; - applet->force_next_update = TRUE; -+ -+ gnome_volume_applet_refresh (GNOME_VOLUME_APPLET (data), FALSE, v, -1); - } - - /* -@@ -1035,31 +1081,39 @@ cb_volume (GtkAdjustment *adj, - - static gboolean - gnome_volume_applet_refresh (GnomeVolumeApplet *applet, -- gboolean force_refresh) -+ gboolean force_refresh, -+ gdouble volume, -+ gint mute) - { - BonoboUIComponent *component; - GdkPixbuf *pixbuf; - gint n; -- gdouble volume; -- gboolean mute, did_change; -+ gboolean show_mute, did_change; - gchar *tooltip_str; - GstMixerTrack *first_track; - GString *track_names; - GList *iter; - -+ show_mute = 0; -+ - if (!applet->mixer) { - n = 0; -- mute = FALSE; -+ show_mute = 1; -+ mute = 0; - } else if (!applet->tracks) { - return FALSE; - } else { -- /* only first track */ - first_track = g_list_first (applet->tracks)->data; -- volume = gnome_volume_applet_get_volume (applet->mixer, first_track); -- mute = GST_MIXER_TRACK_HAS_FLAG (first_track, -- GST_MIXER_TRACK_MUTE); -- if (volume <= 0) { -- mute = TRUE; -+ if (volume == -1) { -+ /* only first track */ -+ volume = gnome_volume_applet_get_volume (applet->mixer, first_track); -+ } -+ if (mute == -1) { -+ mute = GST_MIXER_TRACK_HAS_FLAG (first_track, -+ GST_MIXER_TRACK_MUTE) ? 1 : 0; -+ } -+ if (volume <= 0 || mute) { -+ show_mute = 1; - n = 0; - } - else { -@@ -1077,7 +1131,7 @@ gnome_volume_applet_refresh (GnomeVolume - applet->force_next_update = FALSE; - - if (did_change) { -- if (mute) { -+ if (show_mute) { - pixbuf = applet->pix[0]; - } else { - pixbuf = applet->pix[n]; -@@ -1101,7 +1155,7 @@ gnome_volume_applet_refresh (GnomeVolume - track_names = g_string_append (track_names, track->label); - } - -- if (mute) { -+ if (show_mute) { - tooltip_str = g_strdup_printf (_("%s: muted"), track_names->str); - } else { - /* Translator comment: I'm not all too sure if this makes sense -@@ -1129,6 +1183,52 @@ gnome_volume_applet_refresh (GnomeVolume - return did_change; - } - -+static void -+cb_notify_message (GstBus *bus, GstMessage *message, gpointer data) -+{ -+ GnomeVolumeApplet *applet = GNOME_VOLUME_APPLET (data); -+ GstMixerMessageType type; -+ GstMixerTrack *first_track; -+ GstMixerTrack *track = NULL; -+ gint mute; -+ gdouble volume; -+ -+ if (applet->tracks == NULL || -+ GST_MESSAGE_SRC (message) != GST_OBJECT (applet->mixer)) { -+ /* No tracks, or not from our mixer - can't update anything anyway */ -+ return; -+ } -+ -+ volume = mute = -1; -+ -+ first_track = g_list_first (applet->tracks)->data; -+ -+ /* This code only calls refresh if the first_track changes, because the -+ * refresh code only retrieves the current value from that track anyway */ -+ type = gst_mixer_message_get_type (message); -+ if (type == GST_MIXER_MESSAGE_MUTE_TOGGLED) { -+ gboolean muted; -+ gst_mixer_message_parse_mute_toggled (message, &track, &muted); -+ mute = muted ? 1 : 0; -+ } -+ else if (type == GST_MIXER_MESSAGE_VOLUME_CHANGED) { -+ gint n, num_channels, *vols; -+ volume = 0.0; -+ -+ gst_mixer_message_parse_volume_changed (message, &track, &vols, &num_channels); -+ for (n = 0; n < num_channels; n++) -+ volume += vols[n]; -+ volume /= track->num_channels; -+ volume = 100 * volume / (track->max_volume - track->min_volume); -+ } else -+ { -+ return; -+ } -+ -+ if (first_track == track) -+ gnome_volume_applet_refresh (GNOME_VOLUME_APPLET (data), FALSE, volume, mute); -+} -+ - static gboolean - cb_check (gpointer data) - { -@@ -1146,7 +1246,7 @@ cb_check (gpointer data) - */ - if (time_counter % timeout == 0 || recent_change) { - did_change = gnome_volume_applet_refresh (GNOME_VOLUME_APPLET (data), -- FALSE); -+ FALSE, -1, -1); - - /* - * If a change was done, set recent_change so that the update is -@@ -1227,6 +1327,8 @@ cb_gconf (GConfClient *client, - /* save */ - gst_object_replace ((GstObject **) &applet->mixer, item->data); - gst_element_set_state (old_element, GST_STATE_NULL); -+ -+ gnome_volume_applet_setup_timeout (applet); - newdevice = TRUE; - } - break; -@@ -1387,7 +1489,7 @@ cb_theme_change (GtkIconTheme *icon_them - GnomeVolumeApplet *applet = GNOME_VOLUME_APPLET (data); - - init_pixbufs (applet); -- gnome_volume_applet_refresh (applet, TRUE); -+ gnome_volume_applet_refresh (applet, TRUE, -1, -1); - } - - /* diff --git a/gnome-applets-2.21.4-cpufreq.patch b/gnome-applets-2.21.4-cpufreq.patch deleted file mode 100644 index fadbdbc..0000000 --- a/gnome-applets-2.21.4-cpufreq.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up gnome-applets-2.21.4/cpufreq/src/cpufreq-utils.c.cpufreq gnome-applets-2.21.4/cpufreq/src/cpufreq-utils.c ---- gnome-applets-2.21.4/cpufreq/src/cpufreq-utils.c.cpufreq 2008-01-03 15:36:29.000000000 -0500 -+++ gnome-applets-2.21.4/cpufreq/src/cpufreq-utils.c 2008-01-16 01:28:07.000000000 -0500 -@@ -109,6 +109,9 @@ cpufreq_utils_selector_is_available (voi - if (!path) - return FALSE; - -+ g_free (path); -+ return TRUE; -+ - if (geteuid () == 0) { - g_free (path); - return TRUE; -diff -up gnome-applets-2.21.4/cpufreq/src/cpufreq-popup.c.cpufreq gnome-applets-2.21.4/cpufreq/src/cpufreq-popup.c ---- gnome-applets-2.21.4/cpufreq/src/cpufreq-popup.c.cpufreq 2008-01-03 15:36:29.000000000 -0500 -+++ gnome-applets-2.21.4/cpufreq/src/cpufreq-popup.c 2008-01-16 01:27:14.000000000 -0500 -@@ -176,20 +176,13 @@ static void - cpufreq_popup_run_selector (CPUFreqPopup *popup, - const gchar *params) - { -- gchar *path; - guint cpu; - gchar *command; - GError *error = NULL; - -- path = g_find_program_in_path ("cpufreq-selector"); -- -- if (!path) -- return; -- - cpu = cpufreq_monitor_get_cpu (popup->priv->monitor); - -- command = g_strdup_printf ("%s -c %d %s", path, cpu, params); -- g_free (path); -+ command = g_strdup_printf ("/usr/bin/cpufreq-selector -c %d %s", cpu, params); - - g_spawn_command_line_async (command, &error); - g_free (command); diff --git a/gnome-applets-2.23.3-use-builtin-apm.patch b/gnome-applets-2.23.3-use-builtin-apm.patch new file mode 100644 index 0000000..c91aadb --- /dev/null +++ b/gnome-applets-2.23.3-use-builtin-apm.patch @@ -0,0 +1,16 @@ +diff -up gnome-applets-2.23.3/configure.in.use-builtin-apm gnome-applets-2.23.3/configure.in +--- gnome-applets-2.23.3/configure.in.use-builtin-apm 2008-07-31 21:52:11.000000000 -0400 ++++ gnome-applets-2.23.3/configure.in 2008-07-31 21:53:29.000000000 -0400 +@@ -414,12 +414,10 @@ if test x$disable_battstat = xno; then + case "${host}" in + powerpc-*-linux*) + NEED_LIBAPM=yes +- AC_CHECK_LIB(apm,apm_read,[HAVE_LIBAPM=yes],[HAVE_LIBAPM=no]) + ;; + # list of supported OS cores that use libapm + *-*-linux*) + NEED_LIBAPM=yes +- AC_CHECK_LIB(apm,apm_read,[HAVE_LIBAPM=yes],[HAVE_LIBAPM=no]) + ;; + # list of supported OS cores that do not use libapm + i386-*-freebsd*|*-*-netbsd*|*-*-openbsd*|*-*kfreebsd*-gnu) diff --git a/gnome-applets-2.3.6-ppp-command.patch b/gnome-applets-2.3.6-ppp-command.patch index dcfbbbc..2cb1526 100644 --- a/gnome-applets-2.3.6-ppp-command.patch +++ b/gnome-applets-2.3.6-ppp-command.patch @@ -1,5 +1,6 @@ ---- gnome-applets-2.3.6/modemlights/modemlights.schemas.in 2003-08-18 14:18:22.000000000 +0200 -+++ gnome-applets-2.3.6/modemlights/modemlights.schemas.in 2003-08-18 14:18:59.000000000 +0200 +diff -up gnome-applets-2.23.4/modemlights/modemlights.schemas.in.ppp-command gnome-applets-2.23.4/modemlights/modemlights.schemas.in +--- gnome-applets-2.23.4/modemlights/modemlights.schemas.in.ppp-command 2003-07-26 08:50:45.000000000 -0400 ++++ gnome-applets-2.23.4/modemlights/modemlights.schemas.in 2008-08-04 23:27:17.000000000 -0400 @@ -27,7 +27,7 @@ /schemas/apps/modemlights/prefs/connect modemlights_applet2 @@ -8,7 +9,7 @@ + /sbin/ifup ppp0 Command executed when connecting - + Use this command to connect the modem. @@ -38,7 +38,7 @@ /schemas/apps/modemlights/prefs/disconnect modemlights_applet2 @@ -17,4 +18,4 @@ + /sbin/ifdown ppp0 Command executed when disconnecting - + Use this command to disconnect the modem. diff --git a/gnome-applets.spec b/gnome-applets.spec index 9c8f3de..3e93860 100644 --- a/gnome-applets.spec +++ b/gnome-applets.spec @@ -34,8 +34,8 @@ Summary: Small applications for the GNOME panel Name: gnome-applets -Version: 2.23.3 -Release: 3%{?dist} +Version: 2.23.4 +Release: 1%{?dist} Epoch: 1 License: GPLv2+ and GFDL Group: User Interface/Desktops @@ -46,7 +46,7 @@ Source2: gnome-applets-2.9.3.1-modemlights.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch0: gnome-applets-2.15.2-use-old-modemlights.patch -Patch2: gnome-applets-2.10.1-use-builtin-apm.patch +Patch2: gnome-applets-2.23.3-use-builtin-apm.patch Patch3: gnome-applets-2.3.6-ppp-command.patch Patch11: gnome-applets-2.15.1.1-dont-require-display.patch @@ -56,23 +56,14 @@ Patch31: gnome-applets-2.18.0-fix-find.patch # http://bugzilla.gnome.org/show_bug.cgi?id=428072 Patch33: gnome-applets-2.18.0-node-leak.patch -# http://bugzilla.gnome.org/show_bug.cgi?id=370937 -# Patch34: mixer-wakeups.patch - Patch34: ppp-includes.patch -# http://bugzilla.gnome.org/show_bug.cgi?id=478485 includes the above -Patch35: gnome-applets-2.21.1-mixer-sync.patch - # http://bugzilla.gnome.org/show_bug.cgi?id=488824 Patch39: gweather-network.patch # do the nullapplet dance for battstat Patch40: gnome-applets-null-battstat.patch -# http://bugzilla.gnome.org/show_bug.cgi?id=511446 -Patch44: gweather-gnome-vfs.patch - BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gtk2-devel >= %{gtk2_version} BuildRequires: libgnomeui-devel >= %{libgnomeui_version} @@ -156,10 +147,8 @@ small utilities for the GNOME panel. %patch31 -p1 -b .fix-find %patch33 -p1 -b .node-leak -%patch35 -p1 -b .mixer-sync %patch39 -p1 -b .gweather-network %patch40 -p1 -b .battstat-null -%patch44 -p1 -b .gweather-gnome-vfs # We don't ship gnome-system-tools rm -rf modemlights @@ -319,6 +308,9 @@ fi %{_datadir}/PolicyKit/policy/org.gnome.cpufreqselector.policy %changelog +* Mon Aug 4 2008 Matthias Clasen - 1:2.23.4-1 +- Update to 2.23.4 + * Wed Jul 23 2008 Tom "spot" Callaway - 1:2.23.3-3 - fix license tag diff --git a/gweather-gnome-vfs.patch b/gweather-gnome-vfs.patch deleted file mode 100644 index c09973f..0000000 --- a/gweather-gnome-vfs.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -up gnome-applets-2.22.1/gweather/Makefile.am.gweather-gnome-vfs gnome-applets-2.22.1/gweather/Makefile.am ---- gnome-applets-2.22.1/gweather/Makefile.am.gweather-gnome-vfs 2008-04-07 17:59:56.000000000 -0400 -+++ gnome-applets-2.22.1/gweather/Makefile.am 2008-04-07 20:49:48.000000000 -0400 -@@ -7,7 +7,6 @@ INCLUDES = \ - -I$(top_srcdir) \ - -DGTK_ENABLE_BROKEN \ - $(GNOME_APPLETS_CFLAGS) \ -- $(GNOME_VFS_APPLETS_CFLAGS) \ - $(LIBNOTIFY_CFLAGS) \ - $(LIBGWEATHER_CFLAGS) - -@@ -24,7 +23,6 @@ gweather_applet_2_SOURCES = \ - gweather_applet_2_LDADD = \ - $(LIBNOTIFY_LIBS) \ - $(GNOME_APPLETS_LIBS) \ -- $(GNOME_VFS_APPLETS_LIBS) \ - $(LIBGWEATHER_LIBS) - - uidir = $(datadir)/gnome-2.0/ui -diff -up gnome-applets-2.22.1/Makefile.am.gweather-gnome-vfs gnome-applets-2.22.1/Makefile.am ---- gnome-applets-2.22.1/Makefile.am.gweather-gnome-vfs 2008-04-07 17:59:57.000000000 -0400 -+++ gnome-applets-2.22.1/Makefile.am 2008-04-07 20:25:49.000000000 -0400 -@@ -6,8 +6,7 @@ gtop_SUBDIRS = $(gtop_applets) - endif - - vfs_applets = \ -- drivemount \ -- gweather -+ drivemount - if BUILD_GNOME_VFS_APPLETS - vfs_SUBDIRS = $(vfs_applets) - endif -@@ -47,6 +46,7 @@ endif - always_built_SUBDIRS = \ - charpick \ - geyes \ -+ gweather \ - mini-commander \ - gkb-new \ - stickynotes \ diff --git a/gweather-network.patch b/gweather-network.patch index feb574d..8e97259 100644 --- a/gweather-network.patch +++ b/gweather-network.patch @@ -1,6 +1,6 @@ -diff -up gnome-applets-2.21.2/gweather/gweather-applet.c.gweather-network gnome-applets-2.21.2/gweather/gweather-applet.c ---- gnome-applets-2.21.2/gweather/gweather-applet.c.gweather-network 2007-11-27 03:59:41.000000000 -0500 -+++ gnome-applets-2.21.2/gweather/gweather-applet.c 2008-01-05 23:05:00.000000000 -0500 +diff -up gnome-applets-2.23.3/gweather/gweather-applet.c.gweather-network gnome-applets-2.23.3/gweather/gweather-applet.c +--- gnome-applets-2.23.3/gweather/gweather-applet.c.gweather-network 2008-06-11 02:34:08.000000000 -0400 ++++ gnome-applets-2.23.3/gweather/gweather-applet.c 2008-07-31 21:58:21.000000000 -0400 @@ -29,6 +29,10 @@ #include #endif @@ -9,10 +9,10 @@ diff -up gnome-applets-2.21.2/gweather/gweather-applet.c.gweather-network gnome- +#include +#include + + #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE + #include "gweather.h" - #include "gweather-about.h" - #include "gweather-pref.h" -@@ -288,6 +292,8 @@ applet_destroy (GtkWidget *widget, GWeat +@@ -289,6 +293,8 @@ applet_destroy (GtkWidget *widget, GWeat weather_info_abort (gw_applet->gweather_info); } @@ -21,7 +21,7 @@ diff -up gnome-applets-2.21.2/gweather/gweather-applet.c.gweather-network gnome- void gweather_applet_create (GWeatherApplet *gw_applet) { AtkObject *atk_obj; -@@ -323,7 +329,7 @@ void gweather_applet_create (GWeatherApp +@@ -324,7 +330,7 @@ void gweather_applet_create (GWeatherApp g_signal_connect (GTK_OBJECT(gw_applet->applet), "button_press_event", GTK_SIGNAL_FUNC(clicked_cb), gw_applet); g_signal_connect (G_OBJECT(gw_applet->applet), "key_press_event", @@ -30,7 +30,7 @@ diff -up gnome-applets-2.21.2/gweather/gweather-applet.c.gweather-network gnome- gtk_widget_set_tooltip_text (GTK_WIDGET(gw_applet->applet), _("GNOME Weather")); -@@ -353,9 +359,9 @@ void gweather_applet_create (GWeatherApp +@@ -354,9 +360,9 @@ void gweather_applet_create (GWeatherApp NULL); } @@ -43,7 +43,7 @@ diff -up gnome-applets-2.21.2/gweather/gweather-applet.c.gweather-network gnome- } gint timeout_cb (gpointer data) -@@ -520,3 +526,88 @@ void gweather_update (GWeatherApplet *gw +@@ -521,3 +527,88 @@ void gweather_update (GWeatherApplet *gw update_finish, gw_applet); } } diff --git a/mixer-wakeups.patch b/mixer-wakeups.patch deleted file mode 100644 index 51e7b1e..0000000 --- a/mixer-wakeups.patch +++ /dev/null @@ -1,187 +0,0 @@ -diff -up gnome-applets-2.19.1/mixer/applet.c.wakeups gnome-applets-2.19.1/mixer/applet.c ---- gnome-applets-2.19.1/mixer/applet.c.wakeups 2007-08-12 23:00:22.000000000 -0400 -+++ gnome-applets-2.19.1/mixer/applet.c 2007-08-12 23:00:29.000000000 -0400 -@@ -80,6 +80,11 @@ static void gnome_volume_applet_orientat - - static void gnome_volume_applet_refresh (GnomeVolumeApplet *applet, - gboolean force_refresh); -+ -+#ifdef HAVE_GST_MIXER_NOTIFIES -+static void cb_notify_message (GstBus *bus, GstMessage *message, gpointer data); -+#endif -+ - static gboolean cb_check (gpointer data); - - static void cb_volume (GtkAdjustment *adj, -@@ -242,6 +247,14 @@ gnome_volume_applet_init (GnomeVolumeApp - /* i18n */ - ao = gtk_widget_get_accessible (GTK_WIDGET (applet)); - atk_object_set_name (ao, _("Volume Control")); -+ -+ /* Bus for notifications */ -+#ifdef HAVE_GST_MIXER_NOTIFIES -+ applet->bus = gst_bus_new (); -+ gst_bus_add_signal_watch (applet->bus); -+ g_signal_connect (G_OBJECT (applet->bus), "message::element", -+ (GCallback) cb_notify_message, applet); -+#endif - } - - /* Parse the list of tracks that are stored in GConf */ -@@ -368,12 +381,37 @@ select_element_and_track (GnomeVolumeApp - return FALSE; - - applet->mixer = g_object_ref (active_element); -+#ifdef HAVE_GST_MIXER_NOTIFIES -+ gst_element_set_bus (GST_ELEMENT (applet->mixer), applet->bus); -+#endif - applet->tracks = active_tracks; - g_list_foreach (applet->tracks, (GFunc) g_object_ref, NULL); - - return TRUE; - } - -+static void -+gnome_volume_applet_setup_timeout (GnomeVolumeApplet *applet) -+{ -+ gboolean need_timeout = TRUE; -+#ifdef HAVE_GST_MIXER_NOTIFIES -+ need_timeout = ((gst_mixer_get_mixer_flags (GST_MIXER (applet->mixer)) & -+ GST_MIXER_FLAG_AUTO_NOTIFICATIONS) == 0); -+#endif -+ -+ if (need_timeout) { -+ if (applet->timeout == 0) { -+ applet->timeout = g_timeout_add (100, cb_check, applet); -+ } -+ } -+ else { -+ if (applet->timeout != 0) { -+ g_source_remove (applet->timeout); -+ applet->timeout = 0; -+ } -+ } -+} -+ - gboolean - gnome_volume_applet_setup (GnomeVolumeApplet *applet, - GList *elements) -@@ -436,9 +474,8 @@ gnome_volume_applet_setup (GnomeVolumeAp - g_signal_connect (component, "ui-event", G_CALLBACK (cb_ui_event), applet); - - gnome_volume_applet_refresh (applet, TRUE); -- if (res) { -- applet->timeout = g_timeout_add (100, cb_check, applet); -- } -+ if (res) -+ gnome_volume_applet_setup_timeout (applet); - - if (res) { - /* gconf */ -@@ -479,6 +516,13 @@ gnome_volume_applet_dispose (GObject *ob - g_list_free (applet->elements); - applet->elements = NULL; - } -+#ifdef HAVE_GST_MIXER_NOTIFIES -+ gst_bus_remove_signal_watch (applet->bus); -+ if (applet->bus) { -+ gst_object_unref (applet->bus); -+ applet->bus = NULL; -+ } -+#endif - - if (applet->tracks) { - g_list_foreach (applet->tracks, (GFunc) g_object_unref, NULL); -@@ -1152,6 +1196,38 @@ gnome_volume_applet_refresh (GnomeVolume - "state", mute ? "1" : "0", NULL); - } - -+#ifdef HAVE_GST_MIXER_NOTIFIES -+static void -+cb_notify_message (GstBus *bus, GstMessage *message, gpointer data) -+{ -+ GnomeVolumeApplet *applet = GNOME_VOLUME_APPLET (data); -+ GstMixerMessageType type; -+ GstMixerTrack *first_track; -+ GstMixerTrack *track = NULL; -+ -+ if (applet->tracks == NULL || -+ GST_MESSAGE_SRC (message) != GST_OBJECT (applet->mixer)) { -+ /* No tracks, or not from our mixer - can't update anything anyway */ -+ return; -+ } -+ -+ first_track = g_list_first (applet->tracks)->data; -+ -+ /* This code only calls refresh if the first_track changes, because the -+ * refresh code only retrieves the current value from that track anyway */ -+ type = gst_mixer_message_get_type (message); -+ if (type == GST_MIXER_MESSAGE_MUTE_TOGGLED) { -+ gst_mixer_message_parse_mute_toggled (message, &track, NULL); -+ } -+ else { -+ gst_mixer_message_parse_volume_changed (message, &track, NULL, NULL); -+ } -+ -+ if (first_track == track) -+ gnome_volume_applet_refresh (GNOME_VOLUME_APPLET (data), FALSE); -+} -+#endif -+ - static gboolean - cb_check (gpointer data) - { -@@ -1214,6 +1290,8 @@ cb_gconf (GConfClient *client, - /* save */ - gst_object_replace ((GstObject **) &applet->mixer, item->data); - gst_element_set_state (old_element, GST_STATE_NULL); -+ -+ gnome_volume_applet_setup_timeout (applet); - newdevice = TRUE; - } - break; -diff -up gnome-applets-2.19.1/mixer/applet.h.wakeups gnome-applets-2.19.1/mixer/applet.h ---- gnome-applets-2.19.1/mixer/applet.h.wakeups 2007-08-12 23:00:17.000000000 -0400 -+++ gnome-applets-2.19.1/mixer/applet.h 2007-08-12 23:00:29.000000000 -0400 -@@ -71,6 +71,7 @@ typedef struct _GnomeVolumeApplet { - - /* element */ - GstMixer *mixer; -+ GstBus *bus; - gboolean lock; - gint state; - GList *tracks; -diff -up gnome-applets-2.19.1/configure.in.wakeups gnome-applets-2.19.1/configure.in ---- gnome-applets-2.19.1/configure.in.wakeups 2007-08-12 23:03:29.000000000 -0400 -+++ gnome-applets-2.19.1/configure.in 2007-08-12 23:03:55.000000000 -0400 -@@ -479,11 +479,22 @@ esac - - AM_CONDITIONAL(APPLET_MIXER, test "x$HAVE_GST" = "xyes") - AM_CONDITIONAL(HAVE_GST10, test "x$HAVE_GST_VER" = "x0.10") -+ -+HAVE_GST_MIXER_NOTIFIES=no - if test "x$HAVE_GST_VER" = "x0.10" ; then - AC_DEFINE(HAVE_GST10, 1, [Using Gstreamer 0.10]) - # these don't seem to come from any pkg-config file - MIXER_LIBS="$MIXER_LIBS -lgstinterfaces-0.10 -lgstaudio-0.10" -+ -+ PKG_CHECK_MODULES(GST_MIXER_NOTIFICATIONS, -+ gstreamer-plugins-base-0.10 >= 0.10.13.1, -+ HAVE_GST_MIXER_NOTIFIES=yes, HAVE_GST_MIXER_NOTIFIES=no) -+ if test "x$HAVE_GST_MIXER_NOTIFIES" = "xyes"; then -+ AC_DEFINE(HAVE_GST_MIXER_NOTIFIES, 1, -+ [Have GStreamer mixer notification API]) -+ fi - fi -+AM_CONDITIONAL(HAVE_GST_MIXER_NOTIFIES, test "x$HAVE_GST_MIXER_NOTIFIES" = "xyes") - - AC_SUBST(MIXER_CFLAGS) - AC_SUBST(MIXER_LIBS) -@@ -766,6 +777,7 @@ gnome-applets-$VERSION configure summary - - invest-applet $BUILD_INVEST_APPLET - - mini-commander $enable_mini_commander - - mixer $HAVE_GST -+ - mixer notifications $HAVE_GST_MIXER_NOTIFIES - - modemlights $BUILD_MODEM_LIGHTS - - multiload $build_gtop_applets - - stickynotes $enable_stickynotes diff --git a/sources b/sources index 354f3b8..19122dc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -ea5de6ff5400a0e70df78efab902a76e gnome-applets-2.23.3.tar.bz2 +e1ff4f88761faaa0dd46294c471ec7c0 gnome-applets-2.23.4.tar.bz2 ccd89d3a58076214e2f34216388c9621 gnome-applets-2.9.3.1-modemlights.tar.bz2