Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Flavien Bridault (cebe9b973a55fd5a0e4b0cca3cf1036daaf27171)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Flavien Bridault <scm AT mail.sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Flavien Bridault (cebe9b973a55fd5a0e4b0cca3cf1036daaf27171)
  • Date: Thu, 24 Aug 2006 10:44:05 -0500

GIT changes to master grimoire by Flavien Bridault <vlaaad AT sourcemage.org>:

gnome2-apps/gnome-power-manager/DETAILS | 2
gnome2-apps/gnome-power-manager/HISTORY | 5
gnome2-apps/gnome-power-manager/PRE_BUILD | 3
gnome2-apps/gnome-power-manager/transparent_notification_icon.diff | 91
++++++++++
4 files changed, 100 insertions(+), 1 deletion(-)

New commits:
commit cebe9b973a55fd5a0e4b0cca3cf1036daaf27171
Author: Flavien Bridault <vlaaad AT sourcemage.org>
Commit: Flavien Bridault <vlaaad AT sourcemage.org>

gnome-power-manager: added a patch to get a transparent notification icon

diff --git a/gnome2-apps/gnome-power-manager/DETAILS
b/gnome2-apps/gnome-power-manager/DETAILS
index c83836f..eec4412 100755
--- a/gnome2-apps/gnome-power-manager/DETAILS
+++ b/gnome2-apps/gnome-power-manager/DETAILS
@@ -7,7 +7,7 @@
SOURCE_DIRECTORY=${BUILD_DIRECTORY}/${SPELL}-${VERSION}
WEB_SITE=http://www.gnome.org/projects/gnome-power-manager/
ENTERED=20051216
- PATCHLEVEL=1
+ PATCHLEVEL=2
LICENSE[0]=GPL
KEYWORDS="gnome2"
SHORT="Gnome session daemon that takes care of power management."
diff --git a/gnome2-apps/gnome-power-manager/HISTORY
b/gnome2-apps/gnome-power-manager/HISTORY
index 54178be..c46b57f 100644
--- a/gnome2-apps/gnome-power-manager/HISTORY
+++ b/gnome2-apps/gnome-power-manager/HISTORY
@@ -1,3 +1,8 @@
+2006-08-24 Flavien Bridault <vlaaad AT sourcemage.org>
+ * transparent_notification_icon.diff: added
+ * PRE_BUILD: added to apply patch
+ * DETAILS: PATCHLEVEL++
+
2006-07-27 Flavien Bridault <vlaaad AT sourcemage.org>
* DEPENDS: now depends on dbus-glib instead of dbus
* DETAILS: PATCHLEVEL++
diff --git a/gnome2-apps/gnome-power-manager/PRE_BUILD
b/gnome2-apps/gnome-power-manager/PRE_BUILD
new file mode 100755
index 0000000..6aee4bb
--- /dev/null
+++ b/gnome2-apps/gnome-power-manager/PRE_BUILD
@@ -0,0 +1,3 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+patch -p1 < $SCRIPT_DIRECTORY/transparent_notification_icon.diff
diff --git
a/gnome2-apps/gnome-power-manager/transparent_notification_icon.diff
b/gnome2-apps/gnome-power-manager/transparent_notification_icon.diff
new file mode 100644
index 0000000..8a81eae
--- /dev/null
+++ b/gnome2-apps/gnome-power-manager/transparent_notification_icon.diff
@@ -0,0 +1,91 @@
+diff -ruN gnome-power-manager-2.14.3/src/eggtrayicon.c
gnome-power-manager-2.14.3.new/src/eggtrayicon.c
+--- gnome-power-manager-2.14.3/src/eggtrayicon.c 2006-05-05
15:17:30.000000000 +0200
++++ gnome-power-manager-2.14.3.new/src/eggtrayicon.c 2006-05-05
15:17:45.000000000 +0200
+@@ -68,6 +68,9 @@
+ static void egg_tray_icon_realize (GtkWidget *widget);
+ static void egg_tray_icon_unrealize (GtkWidget *widget);
+
++static void egg_tray_icon_add (GtkContainer *container,
++ GtkWidget *widget);
++
+ #ifdef GDK_WINDOWING_X11
+ static void egg_tray_icon_update_manager_window (EggTrayIcon *icon,
+ gboolean
dock_if_realized);
+@@ -111,6 +114,7 @@
+ {
+ GObjectClass *gobject_class = (GObjectClass *)klass;
+ GtkWidgetClass *widget_class = (GtkWidgetClass *)klass;
++ GtkContainerClass *container_class = (GtkContainerClass *)klass;
+
+ parent_class = g_type_class_peek_parent (klass);
+
+@@ -118,6 +122,8 @@
+
+ widget_class->realize = egg_tray_icon_realize;
+ widget_class->unrealize = egg_tray_icon_unrealize;
++
++ container_class->add = egg_tray_icon_add;
+
+ g_object_class_install_property (gobject_class,
+ PROP_ORIENTATION,
+@@ -333,6 +339,36 @@
+ }
+ }
+
++static gboolean
++transparent_expose_event (GtkWidget *widget, GdkEventExpose *event,
gpointer user_data)
++{
++ gdk_window_clear_area (widget->window, event->area.x, event->area.y,
++ event->area.width, event->area.height);
++ return FALSE;
++}
++
++static void
++make_transparent_again (GtkWidget *widget, GtkStyle *previous_style,
++ gpointer user_data)
++{
++ gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
++}
++
++static void
++make_transparent (GtkWidget *widget, gpointer user_data)
++{
++ if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget))
++ return;
++
++ gtk_widget_set_app_paintable (widget, TRUE);
++ gtk_widget_set_double_buffered (widget, FALSE);
++ gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
++ g_signal_connect (widget, "expose_event",
++ G_CALLBACK (transparent_expose_event), NULL);
++ g_signal_connect_after (widget, "style_set",
++ G_CALLBACK (make_transparent_again), NULL);
++}
++
+ static void
+ egg_tray_icon_manager_window_destroyed (EggTrayIcon *icon)
+ {
+@@ -365,6 +401,8 @@
+
+ if (GTK_WIDGET_CLASS (parent_class)->realize)
+ GTK_WIDGET_CLASS (parent_class)->realize (widget);
++
++ make_transparent (widget, NULL);
+
+ screen = gtk_widget_get_screen (widget);
+ display = gdk_screen_get_display (screen);
+@@ -397,6 +435,14 @@
+ #endif
+ }
+
++static void
++egg_tray_icon_add (GtkContainer *container, GtkWidget *widget)
++{
++ g_signal_connect (widget, "realize",
++ G_CALLBACK (make_transparent), NULL);
++ GTK_CONTAINER_CLASS (parent_class)->add (container, widget);
++}
++
+ EggTrayIcon *
+ egg_tray_icon_new_for_screen (GdkScreen *screen, const char *name)
+ {




Archive powered by MHonArc 2.6.24.

Top of Page