diff -Naur loadapplet-aw-0.2.6-1/ChangeLog loadapplet-aw-0.2.7-1/ChangeLog --- loadapplet-aw-0.2.6-1/ChangeLog 2006-02-26 06:02:15.000000000 +0100 +++ loadapplet-aw-0.2.7-1/ChangeLog 2006-02-27 23:49:44.000000000 +0100 @@ -1,3 +1,7 @@ +2006-02-26 Armin Warda + + * Check if swapname is set + 2006-02-24 Armin Warda * Swapon/Off diff -Naur loadapplet-aw-0.2.6-1/debian/changelog loadapplet-aw-0.2.7-1/debian/changelog --- loadapplet-aw-0.2.6-1/debian/changelog 2006-02-26 05:58:40.000000000 +0100 +++ loadapplet-aw-0.2.7-1/debian/changelog 2006-02-27 23:49:28.000000000 +0100 @@ -1,3 +1,9 @@ +load-plugin-aw (0.2.7-1) unstable; urgency=low + + * Check if swapname is set + + -- Armin Warda Fri, 26 Feb 2006 16:00:00 +0200 + load-plugin-aw (0.2.6-1) unstable; urgency=low * Swapon/off diff -Naur loadapplet-aw-0.2.6-1/debian/control loadapplet-aw-0.2.7-1/debian/control --- loadapplet-aw-0.2.6-1/debian/control 2006-02-26 05:59:27.000000000 +0100 +++ loadapplet-aw-0.2.7-1/debian/control 2006-02-28 00:08:44.000000000 +0100 @@ -10,4 +10,4 @@ Architecture: any Depends: maemo Description: Hildon Status Bar load plugin - Shows the CPU load, memory consumption, can swapon/off and allows for screenshot taking. + Shows the CPU load, memory consumption, can swapon/off and allows for screenshot taking. You have to edit /etc/sudoers for swapon/off. diff -Naur loadapplet-aw-0.2.6-1/load-plugin.c loadapplet-aw-0.2.7-1/load-plugin.c --- loadapplet-aw-0.2.6-1/load-plugin.c 2006-02-26 06:02:57.000000000 +0100 +++ loadapplet-aw-0.2.7-1/load-plugin.c 2006-02-28 00:32:41.000000000 +0100 @@ -48,6 +48,7 @@ #include #include #include +#include #define DBUS_API_SUBJECT_TO_CHANGE #include @@ -330,11 +331,24 @@ static void activate_swap_item(GtkMenuItem *item, gpointer data) { - if (swapisactive()) - sprintf(label, "/usr/bin/sudo /sbin/swapoff %s", swapname); - else - sprintf(label, "/usr/bin/sudo /sbin/swapon %s", swapname); - system(label); + GtkWidget *confirm; + gint result; + + if (strncmp(swapname, "", 1) != 0) + { + if (swapisactive()) + sprintf(label, "/usr/bin/sudo /sbin/swapoff %s", swapname); + else + sprintf(label, "/usr/bin/sudo /sbin/swapon %s", swapname); + + confirm = hildon_note_new_confirmation(GTK_WINDOW(item), label); + result = gtk_dialog_run (GTK_DIALOG (confirm)); + gtk_widget_destroy (GTK_WIDGET (confirm)); + + if (result == GTK_RESPONSE_OK) + system(label); + + } } static void @@ -522,18 +536,21 @@ gtk_menu_shell_append(GTK_MENU_SHELL(info->menu), info->menu_separator); /* Swap */ - if (swapisactive()) - sprintf(label, "swapoff %s (%d MB used)", swapname, (swapused+512)/1024); + if (strncmp(swapname, "", 1) != 0) { + if (swapisactive()) + sprintf(label, "swapoff %s (%d MB used)", swapname, (swapused+512)/1024); + else + sprintf(label, "swapon %s", swapname); + info->menu_swap = gtk_menu_item_new_with_label(label); + gtk_menu_shell_append(GTK_MENU_SHELL(info->menu), + info->menu_swap); + g_signal_connect(G_OBJECT(info->menu_swap), + "activate", + G_CALLBACK(activate_swap_item), + data); + } else - sprintf(label, "swapon %s", swapname); - - info->menu_swap = gtk_menu_item_new_with_label(label); - gtk_menu_shell_append(GTK_MENU_SHELL(info->menu), - info->menu_swap); - g_signal_connect(G_OBJECT(info->menu_swap), - "activate", - G_CALLBACK(activate_swap_item), - data); + info->menu_swap = NULL; /* Settings */ info->menu_settings = gtk_menu_item_new_with_label("Settings"); gtk_menu_shell_append(GTK_MENU_SHELL(info->menu), diff -Naur loadapplet-aw-0.2.6-1/README loadapplet-aw-0.2.7-1/README --- loadapplet-aw-0.2.6-1/README 2005-09-23 10:47:38.000000000 +0200 +++ loadapplet-aw-0.2.7-1/README 2006-02-28 00:08:58.000000000 +0100 @@ -1 +1 @@ -Read what? +You have to edit /etc/sudoers for swapon/off.