summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2006-09-18 02:14:03 +0000
committerMart Raudsepp <leio@gentoo.org>2006-09-18 02:14:03 +0000
commitdaf60a0d65fe1ca2df9860c354f498329ef73371 (patch)
treea66a92a642991acbca1a1560c1ac1f309bf050a1
parentStart a gnome-perf personal overlay. (diff)
downloadgnome-perf-daf60a0d65fe1ca2df9860c354f498329ef73371.tar.gz
gnome-perf-daf60a0d65fe1ca2df9860c354f498329ef73371.tar.bz2
gnome-perf-daf60a0d65fe1ca2df9860c354f498329ef73371.zip
Fix some extraneous polling in stickynotes and battstat applets for battery saving for the users of these applets.
-rw-r--r--gnome-base/gnome-applets/ChangeLog7
-rw-r--r--gnome-base/gnome-applets/Manifest20
-rw-r--r--gnome-base/gnome-applets/files/digest-gnome-applets-2.16.0.13
-rw-r--r--gnome-base/gnome-applets/files/gnome-applets-2.16.0.1-desktop-clicks.patch68
-rw-r--r--gnome-base/gnome-applets/files/gnome-applets-2.16.0.1-poll-less-battstat.patch35
-rw-r--r--gnome-base/gnome-applets/gnome-applets-2.16.0.1.ebuild105
6 files changed, 238 insertions, 0 deletions
diff --git a/gnome-base/gnome-applets/ChangeLog b/gnome-base/gnome-applets/ChangeLog
new file mode 100644
index 0000000..e4b5291
--- /dev/null
+++ b/gnome-base/gnome-applets/ChangeLog
@@ -0,0 +1,7 @@
+# ChangeLog for gnome-base/gnome-applets
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 18 Sep 2006; Mart Raudsepp <leio@gentoo.org> ChangeLog:
+ Fix some extraneous polling in stickynotes and battstat applets.
+
diff --git a/gnome-base/gnome-applets/Manifest b/gnome-base/gnome-applets/Manifest
new file mode 100644
index 0000000..0680670
--- /dev/null
+++ b/gnome-base/gnome-applets/Manifest
@@ -0,0 +1,20 @@
+AUX gnome-applets-2.16.0.1-desktop-clicks.patch 3025 RMD160 63ea295458652011676cb31c6b9b04cfe2e72812 SHA1 298bd20ba96f2dd5acb83b74e92fa35f13a92642 SHA256 ab71b467e17d309c08659d06002f25944bc8e93a531d9adfce725ef9064d4cef
+MD5 7f4e7c9fa109a85645d370116de8358d files/gnome-applets-2.16.0.1-desktop-clicks.patch 3025
+RMD160 63ea295458652011676cb31c6b9b04cfe2e72812 files/gnome-applets-2.16.0.1-desktop-clicks.patch 3025
+SHA256 ab71b467e17d309c08659d06002f25944bc8e93a531d9adfce725ef9064d4cef files/gnome-applets-2.16.0.1-desktop-clicks.patch 3025
+AUX gnome-applets-2.16.0.1-poll-less-battstat.patch 1242 RMD160 a83ae51798edd3b9a9cf849018f9b8ee4a3838cf SHA1 7923026a4df3cd319a1fbd813b39ca371f928097 SHA256 07938bd7e3a0c8cb36dd56c957351f9046f90392d97d3ea4b798fe24a94e87fc
+MD5 31b02cac2b843514af3a59d3d1baefe6 files/gnome-applets-2.16.0.1-poll-less-battstat.patch 1242
+RMD160 a83ae51798edd3b9a9cf849018f9b8ee4a3838cf files/gnome-applets-2.16.0.1-poll-less-battstat.patch 1242
+SHA256 07938bd7e3a0c8cb36dd56c957351f9046f90392d97d3ea4b798fe24a94e87fc files/gnome-applets-2.16.0.1-poll-less-battstat.patch 1242
+DIST gnome-applets-2.16.0.1.tar.bz2 6819774 RMD160 8cfd1ba503813e6581b4b834d755b3814e35a6f1 SHA1 94390cce6f36da73d3ae37136e267f26d11bf5cf SHA256 bc8313f9f10df4a773469fd329a3859e24e8460b405dc78516393cdcfdfc2696
+EBUILD gnome-applets-2.16.0.1.ebuild 2909 RMD160 3695a25e645724521694d411f73d144e0989654c SHA1 2eb45030e22440dff468f603d80c0d472f01b4b4 SHA256 3a29a05850959e85965c949807a7b96f31b807f7676b10ea492fa80e1dcee4a3
+MD5 3ec17fa0b497bdc6e5c186ef1f52e313 gnome-applets-2.16.0.1.ebuild 2909
+RMD160 3695a25e645724521694d411f73d144e0989654c gnome-applets-2.16.0.1.ebuild 2909
+SHA256 3a29a05850959e85965c949807a7b96f31b807f7676b10ea492fa80e1dcee4a3 gnome-applets-2.16.0.1.ebuild 2909
+MISC ChangeLog 251 RMD160 30d102be42d23f80c7c81b6fc025fcc18c69cf2f SHA1 83fa7c0d7eaaa5f5eff084007c8414a9530e6c3f SHA256 b9025ea1612b84159b534197940eff71b481295bf37fb692f0e4b8fca5ed1643
+MD5 66e2a36814be7028a60a43ba74423d72 ChangeLog 251
+RMD160 30d102be42d23f80c7c81b6fc025fcc18c69cf2f ChangeLog 251
+SHA256 b9025ea1612b84159b534197940eff71b481295bf37fb692f0e4b8fca5ed1643 ChangeLog 251
+MD5 467dee99fcccd6ab7d3a88a9c378aa23 files/digest-gnome-applets-2.16.0.1 274
+RMD160 597bb06872badea73b2d93b99534764d5056dfae files/digest-gnome-applets-2.16.0.1 274
+SHA256 4855b121d61e0542118850e8004b96ba249505ac03ac75d28b9a287af093a13b files/digest-gnome-applets-2.16.0.1 274
diff --git a/gnome-base/gnome-applets/files/digest-gnome-applets-2.16.0.1 b/gnome-base/gnome-applets/files/digest-gnome-applets-2.16.0.1
new file mode 100644
index 0000000..0f3cd82
--- /dev/null
+++ b/gnome-base/gnome-applets/files/digest-gnome-applets-2.16.0.1
@@ -0,0 +1,3 @@
+MD5 ff31b5b0a4bf5d0a9f8d0039133f2333 gnome-applets-2.16.0.1.tar.bz2 6819774
+RMD160 8cfd1ba503813e6581b4b834d755b3814e35a6f1 gnome-applets-2.16.0.1.tar.bz2 6819774
+SHA256 bc8313f9f10df4a773469fd329a3859e24e8460b405dc78516393cdcfdfc2696 gnome-applets-2.16.0.1.tar.bz2 6819774
diff --git a/gnome-base/gnome-applets/files/gnome-applets-2.16.0.1-desktop-clicks.patch b/gnome-base/gnome-applets/files/gnome-applets-2.16.0.1-desktop-clicks.patch
new file mode 100644
index 0000000..cdb2585
--- /dev/null
+++ b/gnome-base/gnome-applets/files/gnome-applets-2.16.0.1-desktop-clicks.patch
@@ -0,0 +1,68 @@
+From Fedora Core 6:
+
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=205909 - stickynotes applet wakes up every 100ms
+http://cvs.fedora.redhat.com/viewcvs/*checkout*/rpms/gnome-applets/devel/gnome-applets-2.16.0.1-desktop-clicks.patch?rev=1.1
+
+--- gnome-applets-2.16.0.1/stickynotes/stickynotes_applet_callbacks.h.desktop-clicks 2006-09-10 00:38:29.000000000 -0400
++++ gnome-applets-2.16.0.1/stickynotes/stickynotes_applet_callbacks.h 2006-09-10 00:36:34.000000000 -0400
+@@ -29,6 +29,7 @@
+ gboolean applet_focus_cb(GtkWidget *widget, GdkEventFocus *event, StickyNotesApplet *applet);
+ gboolean applet_save_cb(StickyNotesApplet *applet);
+ gboolean applet_check_click_on_desktop_cb (gpointer data);
++void install_check_click_on_desktop (void);
+ void applet_change_orient_cb(PanelApplet *panel_applet, PanelAppletOrient orient, StickyNotesApplet *applet);
+ void applet_size_allocate_cb(GtkWidget *widget, GtkAllocation *allocation, StickyNotesApplet *applet);
+ void applet_change_bg_cb (PanelApplet *panel_applet,
+@@ -37,7 +38,6 @@
+ GdkPixmap *pixmap,
+ StickyNotesApplet *applet);
+ void applet_destroy_cb (PanelApplet *panel_applet, StickyNotesApplet *applet);
+-
+ /* Callbacks for sticky notes applet menu */
+ void menu_create_cb(BonoboUIComponent *uic, StickyNotesApplet *applet, const gchar *verbname);
+ void menu_new_note_cb(BonoboUIComponent *uic, StickyNotesApplet *applet, const gchar *verbname);
+--- gnome-applets-2.16.0.1/stickynotes/stickynotes_applet.c.desktop-clicks 2006-09-10 00:38:52.000000000 -0400
++++ gnome-applets-2.16.0.1/stickynotes/stickynotes_applet.c 2006-09-10 00:36:47.000000000 -0400
+@@ -186,7 +186,7 @@
+ }
+ g_timeout_add (1000 * 60 * timeout,
+ (GSourceFunc) applet_save_cb, NULL);
+- g_timeout_add (100, applet_check_click_on_desktop_cb, NULL);
++ install_check_click_on_desktop ();
+ }
+
+ /* Initialize Sticky Notes Icons */
+--- gnome-applets-2.16.0.1/stickynotes/stickynotes_applet_callbacks.c.desktop-clicks 2006-09-10 00:38:42.000000000 -0400
++++ gnome-applets-2.16.0.1/stickynotes/stickynotes_applet_callbacks.c 2006-09-10 00:36:34.000000000 -0400
+@@ -178,6 +178,31 @@
+ return TRUE;
+ }
+
++static GdkFilterReturn desktop_window_event_filter (GdkXEvent *xevent,
++ GdkEvent *event,
++ gpointer data)
++{
++ if ((((XEvent*)xevent)->xany.type == PropertyNotify) &&
++ (((XEvent*)xevent)->xproperty.atom == gdk_x11_get_xatom_by_name ("_NET_WM_USER_TIME"))) {
++ stickynote_show_notes (FALSE);
++ }
++}
++
++void install_check_click_on_desktop (void)
++{
++ Window desktop_window;
++ GdkWindow *window;
++
++ if (!get_desktop_window (&desktop_window)) {
++ return;
++ }
++
++ window = gdk_window_foreign_new (desktop_window);
++ gdk_window_set_events (window, GDK_PROPERTY_CHANGE_MASK);
++
++ gdk_window_add_filter (window, desktop_window_event_filter, NULL);
++}
++
+ /* Applet Callback : Change the panel orientation. */
+ void applet_change_orient_cb(PanelApplet *panel_applet, PanelAppletOrient orient, StickyNotesApplet *applet)
+ {
diff --git a/gnome-base/gnome-applets/files/gnome-applets-2.16.0.1-poll-less-battstat.patch b/gnome-base/gnome-applets/files/gnome-applets-2.16.0.1-poll-less-battstat.patch
new file mode 100644
index 0000000..66636b6
--- /dev/null
+++ b/gnome-base/gnome-applets/files/gnome-applets-2.16.0.1-poll-less-battstat.patch
@@ -0,0 +1,35 @@
+From Fedora Core 6:
+
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=204858 - battery applet polls every second, even on a server
+http://cvs.fedora.redhat.com/viewcvs/*checkout*/rpms/gnome-applets/devel/gnome-applets-2.15.90-poll-less.patch?rev=1.1
+
+--- gnome-applets-2.15.90/battstat/battstat_applet.c.poll-less 2006-09-01 13:39:48.000000000 -0400
++++ gnome-applets-2.15.90/battstat/battstat_applet.c 2006-09-01 13:42:15.000000000 -0400
+@@ -1545,6 +1545,9 @@
+ AtkObject *atk_widget;
+ const char *err;
+ int no_hal;
++ BatteryStatus info;
++ int timeout_value;
++
+
+ if (DEBUG) g_print("main()\n");
+
+@@ -1583,7 +1586,16 @@
+ create_layout (battstat);
+ setup_text_orientation( battstat );
+
+- battstat->pixtimer = gtk_timeout_add (1000, check_for_updates, battstat);
++ power_management_getinfo( &info );
++ /* if we're on ac power and no batter is present, we're probably not a laptop
++ * so lets set a higher timer value
++ */
++ if (info.on_ac_power && info.present==0)
++ timeout_value=10000;
++ else
++ timeout_value=5000;
++
++ battstat->pixtimer = gtk_timeout_add (timeout_value, check_for_updates, battstat);
+
+ panel_applet_setup_menu_from_file (PANEL_APPLET (battstat->applet),
+ DATADIR,
diff --git a/gnome-base/gnome-applets/gnome-applets-2.16.0.1.ebuild b/gnome-base/gnome-applets/gnome-applets-2.16.0.1.ebuild
new file mode 100644
index 0000000..8cc7d6e
--- /dev/null
+++ b/gnome-base/gnome-applets/gnome-applets-2.16.0.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-applets/gnome-applets-2.16.0.1.ebuild,v 1.4 2006/09/15 20:47:17 dang Exp $
+
+inherit eutils gnome2 autotools
+
+DESCRIPTION="Applets for the GNOME Desktop and Panel"
+HOMEPAGE="http://www.gnome.org/"
+
+LICENSE="GPL-2 FDL-1.1 LGPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="acpi apm doc gstreamer hal ipv6"
+
+RDEPEND=">=x11-libs/gtk+-2.6
+ >=dev-libs/glib-2.6
+ >=gnome-base/libgnome-2.8
+ >=gnome-base/libgnomeui-2.8
+ >=gnome-base/gnome-vfs-2.15.4
+ >=gnome-base/gconf-2.8
+ >=gnome-base/gnome-panel-2.13.4
+ >=gnome-base/libgtop-2.11.92
+ >=gnome-base/libglade-2.4
+ >=gnome-base/gail-1.1
+ >=x11-libs/libxklavier-2.91
+ >=x11-libs/libwnck-2.9.3
+ >=app-admin/system-tools-backends-1.1.3
+ >=gnome-base/gnome-desktop-2.11.1
+ >=x11-libs/libnotify-0.3.2
+ hal? ( >=sys-apps/hal-0.5.3 )
+ >=sys-apps/dbus-0.34
+ >=dev-python/pygtk-2.6
+ >=dev-python/gnome-python-2.10
+ >=x11-themes/gnome-icon-theme-2.15.91
+ >=virtual/python-2.4
+ apm? ( sys-apps/apmd )
+ acpi? ( sys-power/acpid )
+ x11-apps/xrdb x11-libs/libX11
+ >=gnome-extra/gucharmap-1.4
+ gstreamer? (
+ >=media-libs/gstreamer-0.10.2
+ >=media-libs/gst-plugins-base-0.10.2
+ )"
+
+DEPEND="${RDEPEND}
+ >=app-text/scrollkeeper-0.1.4
+ >=dev-util/pkgconfig-0.19
+ >=dev-util/intltool-0.35
+ dev-libs/libxslt
+ doc? (
+ app-text/docbook-sgml-utils
+ >=app-text/gnome-doc-utils-0.3.2
+ ~app-text/docbook-xml-dtd-4.3
+ )"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+MAKEOPTS="${MAKEOPTS} -j1"
+
+pkg_setup() {
+ G2CONF="--disable-scrollkeeper --enable-flags \
+ $(use_enable ipv6) $(use_with hal)"
+
+ if use gstreamer; then
+ G2CONF="${G2CONF} --with-gstreamer=0.10"
+ fi
+
+ if ! use ppc && ! use apm && ! use acpi; then
+ G2CONF="${G2CONF} --disable-battstat"
+ fi
+
+ if use ppc && ! use apm && ! use hal; then
+ G2CONF="${G2CONF} --disable-battstat"
+ fi
+ G2CONF="${G2CONF} $(use_enable doc gtk-doc)"
+}
+
+src_unpack() {
+ gnome2_src_unpack
+ # Poll less in the battstat applet (5 seconds on laptop, 10 on server; instead of every second everywhere)
+ epatch "${FILESDIR}/${P}-poll-less-battstat.patch"
+ # Instead of waking up stickynotes applet every 100ms to catch desktop clicks, use an event filter to
+ # wake up only when a click actually happened
+ epatch "${FILESDIR}/${P}-desktop-clicks.patch"
+}
+
+src_install() {
+ gnome2_src_install
+
+ APPLETS="accessx-status battstat charpick cpufreq drivemount geyes \
+ gkb-new gswitchit gweather invest-applet mini-commander \
+ mixer modemlights multiload null_applet trashapplet"
+
+ if use stickynotes ; then
+ APPLETS="${APPLETS} stickynotes"
+ fi
+
+ for applet in $(APPLETS) ; do
+ docinto ${applet}
+
+ for d in AUTHORS ChangeLog NEWS README README.themes TODO ; do
+ [ -s ${applet}/${d} ] && dodoc ${applet}/${d}
+ done
+ done
+}