diff options
author | 2006-09-18 02:14:03 +0000 | |
---|---|---|
committer | 2006-09-18 02:14:03 +0000 | |
commit | daf60a0d65fe1ca2df9860c354f498329ef73371 (patch) | |
tree | a66a92a642991acbca1a1560c1ac1f309bf050a1 | |
parent | Start a gnome-perf personal overlay. (diff) | |
download | gnome-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.
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 +} |