wok-current rev 11297

lxpanel: update patches... (thanks Saipul)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Nov 12 11:24:01 2011 +0100 (2011-11-12)
parents 113cd65675c3
children fafbec11f825
files lxpanel/receipt lxpanel/stuff/battery-plugin.patch lxpanel/stuff/battery.patch lxpanel/stuff/configure_desktop_number.patch lxpanel/stuff/fix_position.patch
line diff
     1.1 --- a/lxpanel/receipt	Fri Nov 11 18:28:17 2011 +0100
     1.2 +++ b/lxpanel/receipt	Sat Nov 12 11:24:01 2011 +0100
     1.3 @@ -20,10 +20,9 @@
     1.4  {
     1.5  	cd $src
     1.6  	#patch -p1 -i $stuff/Fix-failure-to-react-to-keyboard-map-changes-initiat.patch
     1.7 -	# Devnote : this patch shouldn't be necessary in next release of lxpanel (current : 0.5.6).
     1.8 -	patch -p1 -i $stuff/battery-plugin.patch
     1.9 -	# patch to fix 100% battery bug with battery plugin
    1.10 -	patch -p1 -i $stuff/battery.patch
    1.11 +	# Devnote : this patch shouldn't be necessary in next release of lxpanel (current : 0.5.8).
    1.12 +	patch -p1 -i $stuff/configure_desktop_number.patch
    1.13 +	patch -p1 -i $stuff/fix_position.patch
    1.14  	./configure --with-plugins=all &&
    1.15  	make && make install
    1.16  }
     2.1 --- a/lxpanel/stuff/battery-plugin.patch	Fri Nov 11 18:28:17 2011 +0100
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,29 +0,0 @@
     2.4 ---- a/src/plugins/batt/batt.c	2010-02-08 07:37:52.000000000 +0100
     2.5 -+++ b/src/plugins/batt/batt.c	2010-09-27 02:24:22.781006054 +0200
     2.6 -@@ -95,7 +95,7 @@
     2.7 - typedef struct {
     2.8 -     char *command;
     2.9 -     sem_t *lock;
    2.10 --} alarm;
    2.11 -+} Alarm;
    2.12 - 
    2.13 - static void destructor(Plugin *p);
    2.14 - static void update_display(lx_battery *lx_b, gboolean repaint);
    2.15 -@@ -103,7 +103,7 @@
    2.16 - /* alarmProcess takes the address of a dynamically allocated alarm struct (which
    2.17 -    it must free). It ensures that alarm commands do not run concurrently. */
    2.18 - static void * alarmProcess(void *arg) {
    2.19 --    alarm *a = (alarm *) arg;
    2.20 -+    Alarm *a = (Alarm *) arg;
    2.21 - 
    2.22 -     sem_wait(a->lock);
    2.23 -     system(a->command);
    2.24 -@@ -157,7 +157,7 @@
    2.25 - 	/* Run the alarm command if it isn't already running */
    2.26 - 	if (alarmCanRun) {
    2.27 - 	    
    2.28 --	    alarm *a = (alarm *) malloc(sizeof(alarm));
    2.29 -+	    Alarm *a = (Alarm *) malloc(sizeof(alarm));
    2.30 - 	    a->command = lx_b->alarmCommand;
    2.31 - 	    a->lock = &(lx_b->alarmProcessLock);
    2.32 - 	    
     3.1 --- a/lxpanel/stuff/battery.patch	Fri Nov 11 18:28:17 2011 +0100
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,44 +0,0 @@
     3.4 ---- lxpanel-0.5.5/src/plugins/batt/batt_sys.c	Sat Feb  6 20:45:38 2010
     3.5 -+++ lxpanel-0.5.5-orig/src/plugins/batt/batt_sys.c	Sat Jul 24 18:48:20 2010
     3.6 -@@ -38,6 +38,13 @@
     3.7 - battery* battery_new() {
     3.8 -     static int battery_num = 1;
     3.9 -     battery * b = g_new0 ( battery, 1 );
    3.10 -+	battery_reset(b);
    3.11 -+	b->battery_num = battery_num;
    3.12 -+	battery_num++;
    3.13 -+	return b;
    3.14 -+	}
    3.15 -+
    3.16 -+void battery_reset( battery * b) {
    3.17 -     b->type_battery = TRUE;
    3.18 -     b->capacity_unit = "mAh";
    3.19 -     b->last_capacity_unit = -1;
    3.20 -@@ -49,9 +56,6 @@
    3.21 -     b->remaining_capacity = -1;
    3.22 -     b->present_rate = -1;
    3.23 -     b->state = NULL;
    3.24 --    b->battery_num = battery_num;
    3.25 --    battery_num++;
    3.26 --    return b;
    3.27 - }
    3.28 - 
    3.29 - 
    3.30 -@@ -136,6 +140,8 @@
    3.31 -     };
    3.32 -     const gchar *sys_file;
    3.33 - 
    3.34 -+	battery_reset(b);
    3.35 -+
    3.36 -     while ( (sys_file = sys_list[i]) != NULL ) {
    3.37 -     
    3.38 - 	gchar *file_content;
    3.39 -@@ -150,7 +156,7 @@
    3.40 - 		    b->state = "available";
    3.41 - 	    }
    3.42 - 	    else if ( strcmp("energy_now", sys_file ) == 0 ) {
    3.43 --		b->remaining_capacity = get_unit_value((gchar*) file_content) / 1000;
    3.44 -+		b->remaining_energy = get_unit_value((gchar*) file_content) / 1000;
    3.45 - 		if (!b->state)
    3.46 - 		    b->state = "available";
    3.47 - 	    }
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/lxpanel/stuff/configure_desktop_number.patch	Sat Nov 12 11:24:01 2011 +0100
     4.3 @@ -0,0 +1,95 @@
     4.4 +Description: Add configuration for desktop number for the pager plugin.
     4.5 +Author: Julien Lavergne <gilir@ubuntu.com>
     4.6 +
     4.7 +--- a/src/plugins/pager.c
     4.8 ++++ b/src/plugins/pager.c
     4.9 +@@ -811,6 +811,80 @@
    4.10 +     g_free(pg);
    4.11 + }
    4.12 + 
    4.13 ++/* Callback when the configuration dialog is to be shown. */
    4.14 ++static void deskno_configure(Plugin * p, GtkWindow * parent)
    4.15 ++{
    4.16 ++
    4.17 ++    GdkScreen *screen = gdk_screen_get_default();
    4.18 ++    const char *wm_name = gdk_x11_screen_get_window_manager_name(screen);
    4.19 ++    GError *error = NULL;
    4.20 ++    const gchar *command_line = NULL;
    4.21 ++
    4.22 ++    if(g_strcmp0(wm_name, "Openbox") == 0)
    4.23 ++    {
    4.24 ++        if (g_find_program_in_path("obconf"))
    4.25 ++        {
    4.26 ++            command_line = "obconf --tab 6";
    4.27 ++        }
    4.28 ++    }
    4.29 ++    else if (g_strcmp0(wm_name, "compiz") == 0)
    4.30 ++    {
    4.31 ++         if (g_find_program_in_path("ccsm"))
    4.32 ++         {
    4.33 ++              command_line = "ccsm";
    4.34 ++
    4.35 ++         }
    4.36 ++         else if (g_find_program_in_path("simple-ccsm"))
    4.37 ++         {
    4.38 ++              command_line = "simple-ccsm";
    4.39 ++         }
    4.40 ++    }
    4.41 ++    else
    4.42 ++    {
    4.43 ++    
    4.44 ++        GtkWidget* msg;
    4.45 ++
    4.46 ++        msg = gtk_message_dialog_new( NULL, 
    4.47 ++                                      0, 
    4.48 ++                                      GTK_MESSAGE_ERROR, 
    4.49 ++                                      GTK_BUTTONS_OK, 
    4.50 ++                                      _("Error, only openbox and compiz are supported") );
    4.51 ++        gtk_dialog_run( GTK_DIALOG(msg) );
    4.52 ++        gtk_widget_destroy( msg );
    4.53 ++    
    4.54 ++    }
    4.55 ++
    4.56 ++    if (command_line)
    4.57 ++    {
    4.58 ++        gdk_spawn_command_line_on_screen(screen,
    4.59 ++                                         command_line,
    4.60 ++                                         &error);
    4.61 ++    }
    4.62 ++
    4.63 ++    else
    4.64 ++    {
    4.65 ++    
    4.66 ++        GtkWidget* msg;
    4.67 ++
    4.68 ++        msg = gtk_message_dialog_new( NULL, 
    4.69 ++                                      0, 
    4.70 ++                                      GTK_MESSAGE_ERROR, 
    4.71 ++                                      GTK_BUTTONS_OK, 
    4.72 ++                                      _("Error, you need to install obconf, ccsm of simple-ccsm") );
    4.73 ++        gtk_dialog_run( GTK_DIALOG(msg) );
    4.74 ++        gtk_widget_destroy( msg );
    4.75 ++    
    4.76 ++    }
    4.77 ++
    4.78 ++	if (error)
    4.79 ++	{
    4.80 ++	    g_print("%s\n", error->message);
    4.81 ++		
    4.82 ++		g_free (error);
    4.83 ++    }
    4.84 ++
    4.85 ++}
    4.86 ++
    4.87 + /* Callback when panel configuration changes. */
    4.88 + static void pager_panel_configuration_changed(Plugin * p)
    4.89 + {
    4.90 +@@ -836,7 +910,7 @@
    4.91 + 
    4.92 +     constructor : pager_constructor,
    4.93 +     destructor  : pager_destructor,
    4.94 +-    config : NULL,
    4.95 ++    config : deskno_configure,
    4.96 +     save : NULL,
    4.97 +     panel_configuration_changed : pager_panel_configuration_changed
    4.98 + };
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/lxpanel/stuff/fix_position.patch	Sat Nov 12 11:24:01 2011 +0100
     5.3 @@ -0,0 +1,156 @@
     5.4 +Index: lxpanel-0.5.8/src/plugins/menu.c
     5.5 +===================================================================
     5.6 +--- lxpanel-0.5.8.orig/src/plugins/menu.c	2011-10-05 23:55:47.000000000 +0200
     5.7 ++++ lxpanel-0.5.8/src/plugins/menu.c	2011-10-05 23:55:49.000000000 +0200
     5.8 +@@ -131,8 +131,8 @@
     5.9 +     int ox, oy, w, h;
    5.10 +     Plugin *p;
    5.11 + #if GTK_CHECK_VERSION(2,18,0)
    5.12 +-    GtkAllocation allocation;
    5.13 +-    gtk_widget_set_allocation(widget, &allocation);
    5.14 ++    GtkAllocation *allocation = g_new0 (GtkAllocation, 1);
    5.15 ++    gtk_widget_get_allocation(GTK_WIDGET(widget), allocation);
    5.16 + #endif
    5.17 +     ENTER;
    5.18 +     p = g_object_get_data(G_OBJECT(widget), "plugin");
    5.19 +@@ -155,20 +155,20 @@
    5.20 +         *x = ox;
    5.21 +         if (*x + w > gdk_screen_width())
    5.22 + #if GTK_CHECK_VERSION(2,18,0)
    5.23 +-            *x = ox + allocation.width - w;
    5.24 ++            *x = ox + allocation->width - w;
    5.25 + #else
    5.26 +             *x = ox + widget->allocation.width - w;
    5.27 + #endif
    5.28 +         *y = oy - h;
    5.29 +         if (*y < 0)
    5.30 + #if GTK_CHECK_VERSION(2,18,0)
    5.31 +-            *y = oy + allocation.height;
    5.32 ++            *y = oy + allocation->height;
    5.33 + #else
    5.34 +             *y = oy + widget->allocation.height;
    5.35 + #endif
    5.36 +     } else {
    5.37 + #if GTK_CHECK_VERSION(2,18,0)
    5.38 +-        *x = ox + allocation.width;
    5.39 ++        *x = ox + allocation->width;
    5.40 + #else
    5.41 +         *x = ox + widget->allocation.width;
    5.42 + #endif
    5.43 +@@ -177,19 +177,22 @@
    5.44 +         *y = oy;
    5.45 +         if (*y + h >  gdk_screen_height())
    5.46 + #if GTK_CHECK_VERSION(2,18,0)
    5.47 +-            *y = oy + allocation.height - h;
    5.48 ++            *y = oy + allocation->height - h;
    5.49 + #else
    5.50 +             *y = oy + widget->allocation.height - h;
    5.51 + #endif
    5.52 +     }
    5.53 +     DBG("widget: x,y=%d,%d  w,h=%d,%d\n", ox, oy,
    5.54 + #if GTK_CHECK_VERSION(2,18,0)
    5.55 +-          allocation.width, allocation.height );
    5.56 ++          allocation->width, allocation->height );
    5.57 + #else
    5.58 +           widget->allocation.width, widget->allocation.height );
    5.59 + #endif
    5.60 +     DBG("w-h %d %d\n", w, h);
    5.61 +     *push_in = TRUE;
    5.62 ++#if GTK_CHECK_VERSION(2,18,0)
    5.63 ++    g_free (allocation);
    5.64 ++#endif
    5.65 +     RET();
    5.66 + }
    5.67 + 
    5.68 +@@ -634,8 +637,8 @@
    5.69 + {
    5.70 +     ENTER;
    5.71 + #if GTK_CHECK_VERSION(2,18,0)
    5.72 +-    GtkAllocation allocation;
    5.73 +-    gtk_widget_get_allocation(widget, &allocation);
    5.74 ++    GtkAllocation *allocation = g_new0 (GtkAllocation, 1);
    5.75 ++    gtk_widget_get_allocation(GTK_WIDGET(widget), allocation);
    5.76 + #endif
    5.77 + 
    5.78 +     /* Standard right-click handling. */
    5.79 +@@ -644,14 +647,17 @@
    5.80 + 
    5.81 +     if ((event->type == GDK_BUTTON_PRESS)
    5.82 + #if GTK_CHECK_VERSION(2,18,0)
    5.83 +-          && (event->x >=0 && event->x < allocation.width)
    5.84 +-          && (event->y >=0 && event->y < allocation.height)) {
    5.85 ++          && (event->x >=0 && event->x < allocation->width)
    5.86 ++          && (event->y >=0 && event->y < allocation->height)) {
    5.87 + #else
    5.88 +           && (event->x >=0 && event->x < widget->allocation.width)
    5.89 +           && (event->y >=0 && event->y < widget->allocation.height)) {
    5.90 + #endif
    5.91 +         show_menu( widget, plugin, event->button, event->time );
    5.92 +     }
    5.93 ++#if GTK_CHECK_VERSION(2,18,0)
    5.94 ++    g_free (allocation);
    5.95 ++#endif
    5.96 +     RET(TRUE);
    5.97 + }
    5.98 + 
    5.99 +Index: lxpanel-0.5.8/src/plugins/pager.c
   5.100 +===================================================================
   5.101 +--- lxpanel-0.5.8.orig/src/plugins/pager.c	2011-10-05 23:55:47.000000000 +0200
   5.102 ++++ lxpanel-0.5.8/src/plugins/pager.c	2011-10-05 23:56:29.000000000 +0200
   5.103 +@@ -271,10 +271,10 @@
   5.104 + {
   5.105 +     /* Allocate pixmap and statistics buffer without border pixels. */
   5.106 + #if GTK_CHECK_VERSION(2,18,0)
   5.107 +-    GtkAllocation allocation;
   5.108 +-    gtk_widget_get_allocation(widget, &allocation);
   5.109 +-    int new_pixmap_width = allocation.width;
   5.110 +-    int new_pixmap_height = allocation.height;
   5.111 ++    GtkAllocation *allocation = g_new0 (GtkAllocation, 1);
   5.112 ++    gtk_widget_get_allocation(GTK_WIDGET(widget), allocation);
   5.113 ++    int new_pixmap_width = allocation->width;
   5.114 ++    int new_pixmap_height = allocation->height;
   5.115 + #else
   5.116 +     int new_pixmap_width = widget->allocation.width;
   5.117 +     int new_pixmap_height = widget->allocation.height;
   5.118 +@@ -292,8 +292,8 @@
   5.119 + 
   5.120 +         /* Compute the horizontal and vertical scale factors, and mark the desktop for redraw. */
   5.121 + #if GTK_CHECK_VERSION(2,18,0)
   5.122 +-        d->scale_y = (gfloat) allocation.height / (gfloat) gdk_screen_height();
   5.123 +-        d->scale_x = (gfloat) allocation.width  / (gfloat) gdk_screen_width();
   5.124 ++        d->scale_y = (gfloat) allocation->height / (gfloat) gdk_screen_height();
   5.125 ++        d->scale_x = (gfloat) allocation->width  / (gfloat) gdk_screen_width();
   5.126 + #else
   5.127 +         d->scale_y = (gfloat) allocation->height / (gfloat) gdk_screen_height();
   5.128 +         d->scale_x = (gfloat) allocation->width  / (gfloat) gdk_screen_width();
   5.129 +@@ -305,6 +305,9 @@
   5.130 +     gtk_widget_set_size_request(widget,
   5.131 +         (d->pg->plugin->panel->icon_size - BORDER_WIDTH * 2) * d->pg->aspect_ratio,
   5.132 +         d->pg->plugin->panel->icon_size - BORDER_WIDTH * 2);
   5.133 ++#if GTK_CHECK_VERSION(2,18,0)
   5.134 ++    g_free (allocation);
   5.135 ++#endif
   5.136 +     return FALSE;
   5.137 + }
   5.138 + 
   5.139 +@@ -326,8 +329,8 @@
   5.140 +             {
   5.141 +                 GtkWidget * widget = GTK_WIDGET(d->da);
   5.142 + #if GTK_CHECK_VERSION(2,18,0)
   5.143 +-                GtkAllocation allocation;
   5.144 +-                gtk_widget_get_allocation(widget, &allocation);
   5.145 ++                GtkAllocation *allocation = g_new0 (GtkAllocation, 1);
   5.146 ++                gtk_widget_get_allocation(GTK_WIDGET(widget), allocation);
   5.147 + #endif
   5.148 +                 gdk_draw_rectangle(
   5.149 +                     d->pixmap,
   5.150 +@@ -336,7 +339,8 @@
   5.151 +                         : style->dark_gc[GTK_STATE_NORMAL]),
   5.152 +                     TRUE,
   5.153 + #if GTK_CHECK_VERSION(2,18,0)
   5.154 +-                    0, 0, allocation.width, allocation.height);
   5.155 ++                    0, 0, allocation->width, allocation->height);
   5.156 ++                    g_free (allocation);
   5.157 + #else
   5.158 +                     0, 0, widget->allocation.width, widget->allocation.height);
   5.159 + #endif