diff --git a/.cvsignore b/.cvsignore index 14e9e4e..b0f344b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -gnome-panel-2.17.91.tar.bz2 +gnome-panel-2.17.92.tar.bz2 diff --git a/gnome-panel-2.17.92-move-suspend-to-menu.patch b/gnome-panel-2.17.92-move-suspend-to-menu.patch new file mode 100644 index 0000000..8171856 --- /dev/null +++ b/gnome-panel-2.17.92-move-suspend-to-menu.patch @@ -0,0 +1,241 @@ +--- gnome-panel-2.17.92/gnome-panel/panel-enums.h.move-suspend-to-menu 2007-02-26 15:40:23.000000000 -0500 ++++ gnome-panel-2.17.92/gnome-panel/panel-enums.h 2007-02-28 00:35:24.000000000 -0500 +@@ -96,6 +96,7 @@ + PANEL_ACTION_FORCE_QUIT, + PANEL_ACTION_CONNECT_SERVER, + PANEL_ACTION_SHUTDOWN, ++ PANEL_ACTION_SUSPEND, + /* compatibility with GNOME < 2.13.90 */ + PANEL_ACTION_SCREENSHOT, + PANEL_ACTION_LAST +--- gnome-panel-2.17.92/gnome-panel/panel-logout.c.move-suspend-to-menu 2007-02-28 00:35:24.000000000 -0500 ++++ gnome-panel-2.17.92/gnome-panel/panel-logout.c 2007-02-28 00:35:24.000000000 -0500 +@@ -334,10 +334,6 @@ + primary_text = _("Shut down this system now?"); + + logout_dialog->priv->default_response = PANEL_LOGOUT_RESPONSE_SHUTDOWN; +- if (panel_power_manager_can_suspend (logout_dialog->priv->power_manager)) +- gtk_dialog_add_button (GTK_DIALOG (logout_dialog), +- _("S_uspend"), +- PANEL_LOGOUT_RESPONSE_STR); + + if (panel_power_manager_can_hibernate (logout_dialog->priv->power_manager)) + gtk_dialog_add_button (GTK_DIALOG (logout_dialog), +--- gnome-panel-2.17.92/gnome-panel/panel-action-button.c.move-suspend-to-menu 2007-02-28 00:35:24.000000000 -0500 ++++ gnome-panel-2.17.92/gnome-panel/panel-action-button.c 2007-02-28 00:37:38.000000000 -0500 +@@ -46,6 +46,7 @@ + #include "panel-lockdown.h" + #include "panel-logout.h" + #include "panel-compatibility.h" ++#include "panel-power-manager.h" + #include "panel-gdm.h" + + G_DEFINE_TYPE (PanelActionButton, panel_action_button, BUTTON_TYPE_WIDGET); +@@ -78,6 +79,7 @@ + { PANEL_ACTION_FORCE_QUIT, "force-quit" }, + { PANEL_ACTION_CONNECT_SERVER, "connect-server" }, + { PANEL_ACTION_SHUTDOWN, "shutdown" }, ++ { PANEL_ACTION_SUSPEND, "suspend" }, + /* compatibility with GNOME < 2.13.90 */ + { PANEL_ACTION_SCREENSHOT, "screenshot" }, + { 0, NULL }, +@@ -179,12 +181,47 @@ + } + + static gboolean ++panel_action_can_suspend (void) ++{ ++ PanelPowerManager *manager; ++ gboolean can_suspend; ++ ++ manager = panel_get_power_manager (); ++ ++ can_suspend = panel_power_manager_can_suspend (manager); ++ ++ g_object_unref (manager); ++ ++ return can_suspend; ++} ++ ++static gboolean + panel_action_shutdown_is_disabled (void) + { + return (panel_lockdown_get_disable_log_out() || + !gdm_supports_logout_action (GDM_LOGOUT_ACTION_SHUTDOWN)); + } + ++ ++ ++static gboolean ++panel_action_suspend_is_disabled (void) ++{ ++ return !panel_action_can_suspend (); ++} ++ ++static void ++panel_action_suspend (GtkWidget *widget) ++{ ++ PanelPowerManager *manager; ++ ++ manager = panel_get_power_manager (); ++ ++ panel_power_manager_attempt_suspend (manager); ++ ++ g_object_unref (manager); ++} ++ + /* Run Application + */ + static void +@@ -363,6 +400,16 @@ + panel_action_shutdown, NULL, NULL, + panel_action_shutdown_is_disabled + }, ++ { ++ PANEL_ACTION_SUSPEND, ++ "screensaver", ++ N_("Suspend"), ++ N_("Suspend the computer"), ++ "gospanel-20", ++ "ACTION:suspend:NEW", ++ panel_action_suspend, NULL, NULL, ++ panel_action_suspend_is_disabled ++ }, + /* deprecated actions */ + { + PANEL_ACTION_SCREENSHOT, +--- gnome-panel-2.17.92/gnome-panel/panel-menu-items.c.move-suspend-to-menu 2007-02-28 00:35:24.000000000 -0500 ++++ gnome-panel-2.17.92/gnome-panel/panel-menu-items.c 2007-02-28 00:35:24.000000000 -0500 +@@ -49,6 +49,7 @@ + #include "panel-recent.h" + #include "panel-stock-icons.h" + #include "panel-util.h" ++#include "panel-power-manager.h" + + #define BOOKMARKS_FILENAME ".gtk-bookmarks" + #define DESKTOP_IS_HOME_DIR_DIR "/apps/nautilus/preferences" +@@ -954,10 +955,22 @@ + menuitem->priv->use_image = use_image; + + menuitem->priv->append_lock_logout = append_lock_logout; +- if (append_lock_logout) ++ if (append_lock_logout) { ++ PanelPowerManager *manager; ++ + panel_lockdown_notify_add (G_CALLBACK (panel_desktop_menu_item_recreate_menu), + menuitem); + ++ manager = panel_get_power_manager (); ++ ++ g_signal_connect_swapped (manager, "notify::is-connected", ++ G_CALLBACK ++ (panel_desktop_menu_item_recreate_menu), ++ menuitem); ++ ++ g_object_unref (manager); ++ } ++ + menuitem->priv->menu = panel_desktop_menu_item_create_menu (menuitem); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), + menuitem->priv->menu); +@@ -1062,6 +1075,14 @@ + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + } + ++ item = panel_menu_items_create_action_item (PANEL_ACTION_SUSPEND); ++ if (item != NULL) { ++ if (!separator_inserted) ++ add_menu_separator (menu); ++ ++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); ++ } ++ + item = panel_menu_items_create_action_item (PANEL_ACTION_SHUTDOWN); + if (item != NULL) { + if (!separator_inserted) +--- gnome-panel-2.17.92/gnome-panel/panel-power-manager.h.move-suspend-to-menu 2007-02-26 15:40:23.000000000 -0500 ++++ gnome-panel-2.17.92/gnome-panel/panel-power-manager.h 2007-02-28 00:35:24.000000000 -0500 +@@ -78,3 +78,83 @@ + G_END_DECLS + + #endif /* PANEL_POWER_MANAGER_H */ ++/* panel-power-manager.h - functions for powering down, restarting, and ++ * suspending the computer ++ * ++ * Copyright (C) 2006 Ray Strode ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ++ * 02111-1307, USA. ++ */ ++#ifndef PANEL_POWER_MANAGER_H ++#define PANEL_POWER_MANAGER_H ++ ++#include ++#include ++ ++G_BEGIN_DECLS ++ ++#define PANEL_TYPE_POWER_MANAGER (panel_power_manager_get_type ()) ++#define PANEL_POWER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PANEL_TYPE_POWER_MANAGER, PanelPowerManager)) ++#define PANEL_POWER_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANEL_TYPE_POWER_MANAGER, PanelPowerManagerClass)) ++#define PANEL_IS_POWER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PANEL_TYPE_POWER_MANAGER)) ++#define PANEL_IS_POWER_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANEL_TYPE_POWER_MANAGER)) ++#define PANEL_POWER_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PANEL_TYPE_POWER_MANAGER, PanelPowerManagerClass)) ++#define PANEL_POWER_MANAGER_ERROR (panel_power_manager_error_quark ()) ++ ++typedef struct _PanelPowerManager PanelPowerManager; ++typedef struct _PanelPowerManagerClass PanelPowerManagerClass; ++typedef struct _PanelPowerManagerPrivate PanelPowerManagerPrivate; ++typedef enum _PanelPowerManagerError PanelPowerManagerError; ++ ++ ++struct _PanelPowerManager { ++ GObject parent; ++ ++ /*< private > */ ++ PanelPowerManagerPrivate *priv; ++}; ++ ++struct _PanelPowerManagerClass { ++ GObjectClass parent_class; ++ ++ /* signals */ ++ void (* request_failed) (PanelPowerManager *manager, ++ GError *error); ++}; ++ ++enum _PanelPowerManagerError { ++ PANEL_POWER_MANAGER_ERROR_SUSPENDING = 0, ++ PANEL_POWER_MANAGER_ERROR_HIBERNATING ++}; ++ ++GType panel_power_manager_get_type (void); ++GQuark panel_power_manager_error_quark (void); ++ ++PanelPowerManager *panel_power_manager_new (void) G_GNUC_MALLOC; ++ ++gboolean panel_power_manager_can_suspend (PanelPowerManager *manager); ++gboolean panel_power_manager_can_hibernate (PanelPowerManager *manager); ++gboolean panel_power_manager_can_power_down (PanelPowerManager *manager); ++gboolean panel_power_manager_can_restart (PanelPowerManager *manager); ++ ++void panel_power_manager_attempt_suspend (PanelPowerManager *manager); ++void panel_power_manager_attempt_hibernate (PanelPowerManager *manager); ++ ++PanelPowerManager *panel_get_power_manager (void); ++ ++G_END_DECLS ++ ++#endif /* PANEL_POWER_MANAGER_H */ diff --git a/gnome-panel.spec b/gnome-panel.spec index 547a65d..7f1b6a8 100644 --- a/gnome-panel.spec +++ b/gnome-panel.spec @@ -21,8 +21,8 @@ Summary: GNOME panel Name: gnome-panel -Version: 2.17.91 -Release: 6%{?dist} +Version: 2.17.92 +Release: 1%{?dist} URL: http://www.gnome.org Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-panel/2.17/%{name}-%{version}.tar.bz2 Source1: redhat-panel-default-setup.entries @@ -90,8 +90,7 @@ Patch8: gnome-panel-2.16.1-search.patch Patch9: gnome-panel-2.13.91-ignore-unknown-options.patch # http://bugzilla.gnome.org/show_bug.cgi?id=399274 Patch12: gnome-panel-2.14.2-xio-error.patch -Patch13: gnome-panel-2.17.90-move-suspend-to-menu.patch -Patch14: gnome-panel-2.17.90-no-seconds.patch +Patch13: gnome-panel-2.17.92-move-suspend-to-menu.patch Patch15: gnome-panel-2.16.0-compiz-support.patch # gnome bugzilla 365640 Patch16: gnome-panel-2.16.0-fix-chinese.patch @@ -127,7 +126,6 @@ Panel Applets using the libpanel-applet library. %patch9 -p1 -b .ignore-unknown-options %patch12 -p1 -b .xio-error %patch13 -p1 -b .move-suspend-to-menu -%patch14 -p1 -b .no-seconds %patch15 -p0 -b .compiz-support %patch16 -p1 -b .fix-chinese @@ -303,6 +301,9 @@ fi %{_datadir}/gtk-doc %changelog +* Wed Feb 28 2007 Matthias Clasen 2.17.92-1 +- Update to 2.17.92 + * Tue Feb 13 2007 Matthias Clasen 2.17.91-6 - Put the fast user switch applet in the default panel configuration diff --git a/sources b/sources index 5d30861..ccd2fc0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6a5305c4fe339f1f25cabacd22b91994 gnome-panel-2.17.91.tar.bz2 +42fc3d0aa43c7b1e84c5219a65ad5869 gnome-panel-2.17.92.tar.bz2