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 /gnome-base/gnome-applets/files
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.
Diffstat (limited to 'gnome-base/gnome-applets/files')
-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
3 files changed, 106 insertions, 0 deletions
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,