From 5a3df0dde62593659e792f92236a8142087080f7 Mon Sep 17 00:00:00 2001 From: György Balló Date: Wed, 23 Nov 2011 22:58:41 +0100 Subject: Make GTK Logout Helper optional --- src/device-menu-mgr.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/device-menu-mgr.c') diff --git a/src/device-menu-mgr.c b/src/device-menu-mgr.c index 5a63be3..926090f 100644 --- a/src/device-menu-mgr.c +++ b/src/device-menu-mgr.c @@ -17,6 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#include #include #include @@ -410,7 +411,11 @@ static void show_dialog (DbusmenuMenuitem * mi, guint timestamp, gchar * type) { +#ifdef HAVE_GTKLOGOUTHELPER gchar * helper = g_build_filename(LIBEXECDIR, "gtk-logout-helper", NULL); +#else + gchar * helper = g_build_filename("gnome-session-quit", NULL); +#endif /* HAVE_GTKLOGOUTHELPER */ gchar * dialog_line = g_strdup_printf("%s --%s", helper, type); g_free(helper); @@ -726,7 +731,11 @@ device_menu_mgr_build_static_items (DeviceMenuMgr* self, gboolean greeter_mode) dbusmenu_menuitem_child_append (self->root_item, shutdown_mi); g_signal_connect (G_OBJECT(shutdown_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, +#ifdef HAVE_GTKLOGOUTHELPER G_CALLBACK(show_dialog), "shutdown"); +#else + G_CALLBACK(show_dialog), "power-off"); +#endif /* HAVE_GTKLOGOUTHELPER */ RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi = g_new0 (RestartShutdownLogoutMenuItems, 1); restart_shutdown_logout_mi->logout_mi = logout_mi; -- cgit v1.2.3 From b3d54d8b5d90cdaaa7169a25e9c9a8823d6ef61c Mon Sep 17 00:00:00 2001 From: György Balló Date: Wed, 23 Nov 2011 22:59:19 +0100 Subject: Make APT support optional --- configure.ac | 13 +++++++++++++ src/Makefile.am | 13 +++++++++---- src/device-menu-mgr.c | 18 ++++++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) (limited to 'src/device-menu-mgr.c') diff --git a/configure.ac b/configure.ac index a6ea42f..d47d754 100644 --- a/configure.ac +++ b/configure.ac @@ -113,6 +113,18 @@ AM_CONDITIONAL(BUILD_GTKLOGOUTHELPER, test x${have_gtklogouthelper} = xyes) AC_SUBST(GTKLOGOUTHELPER_CFLAGS) AC_SUBST(GTKLOGOUTHELPER_LIBS) +########################### +# APT support +########################### +AC_ARG_ENABLE([apt], + AC_HELP_STRING([--disable-apt], [disable APT support]),, + [enable_apt=yes]) +AM_CONDITIONAL([BUILD_APT], [test "x$enable_apt" != "xno"]) + +if test "x$enable_apt" != "xno"; then + AC_DEFINE(HAVE_APT, 1, [Define to 1 to enable APT support]) +fi + ########################### # Check to see if we're local ########################### @@ -215,4 +227,5 @@ SUS Indicator Configuration: Indicator Dir: $INDICATORDIR Indicator GTK: $with_gtk Logout Helper: $have_gtklogouthelper + APT support: $enable_apt ]) diff --git a/src/Makefile.am b/src/Makefile.am index 5209869..afee66c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -107,13 +107,18 @@ indicator_session_service_SOURCES = \ user-menu-mgr.c \ device-menu-mgr.h \ device-menu-mgr.c \ - apt-watcher.h \ - apt-watcher.c \ - apt-transaction.h \ - apt-transaction.c \ udev-mgr.h \ udev-mgr.c \ sane-rules.h + +if BUILD_APT +indicator_session_service_SOURCES += \ + apt-watcher.h \ + apt-watcher.c \ + apt-transaction.h \ + apt-transaction.c +endif + indicator_session_service_CFLAGS = \ $(SESSIONSERVICE_CFLAGS) \ $(GCONF_CFLAGS) \ diff --git a/src/device-menu-mgr.c b/src/device-menu-mgr.c index 926090f..3858564 100644 --- a/src/device-menu-mgr.c +++ b/src/device-menu-mgr.c @@ -27,7 +27,11 @@ with this program. If not, see . #include "dbusmenu-shared.h" #include "lock-helper.h" #include "upower-client.h" + +#ifdef HAVE_APT #include "apt-watcher.h" +#endif /* HAVE_APT */ + #include "udev-mgr.h" #define UP_ADDRESS "org.freedesktop.UPower" @@ -41,7 +45,9 @@ struct _DeviceMenuMgr GObject parent_instance; DbusmenuMenuitem* root_item; SessionDbus* session_dbus_interface; +#ifdef HAVE_APT AptWatcher* apt_watcher; +#endif /* HAVE_APT */ UdevMgr* udev_mgr; }; @@ -51,7 +57,9 @@ static DbusmenuMenuitem *lock_menuitem = NULL; static DbusmenuMenuitem *system_settings_menuitem = NULL; static DbusmenuMenuitem *display_settings_menuitem = NULL; static DbusmenuMenuitem *login_settings_menuitem = NULL; +#ifdef HAVE_APT static DbusmenuMenuitem *software_updates_menuitem = NULL; +#endif /* HAVE_APT */ static DbusmenuMenuitem *printers_menuitem = NULL; static DbusmenuMenuitem *scanners_menuitem = NULL; static DbusmenuMenuitem *webcam_menuitem = NULL; @@ -103,7 +111,9 @@ G_DEFINE_TYPE (DeviceMenuMgr, device_menu_mgr, G_TYPE_OBJECT); static void device_menu_mgr_init (DeviceMenuMgr *self) { +#ifdef HAVE_APT self->apt_watcher = NULL; +#endif /* HAVE_APT */ self->root_item = dbusmenu_menuitem_new (); setup_up(self); g_idle_add(lock_screen_setup, NULL); @@ -485,12 +495,14 @@ static void device_menu_mgr_show_simple_scan (DbusmenuMenuitem * mi, { g_warning("Unable to launch simple-scan: %s", error->message); g_error_free(error); +#ifdef HAVE_APT if (!g_spawn_command_line_async("software-center simple-scan", &error)) { g_warning ("Unable to launch software-centre simple-scan: %s", error->message); g_error_free(error); } +#endif /* HAVE_APT */ } } @@ -503,12 +515,14 @@ static void device_menu_mgr_show_cheese (DbusmenuMenuitem * mi, { g_warning("Unable to launch cheese: %s", error->message); g_error_free(error); +#ifdef HAVE_APT if (!g_spawn_command_line_async("software-center cheese", &error)) { g_warning ("Unable to launch software-centre cheese: %s", error->message); g_error_free(error); } +#endif /* HAVE_APT */ } } @@ -547,6 +561,7 @@ device_menu_mgr_build_settings_items (DeviceMenuMgr* self) dbusmenu_menuitem_child_add_position(self->root_item, login_settings_menuitem, 2); +#ifdef HAVE_APT software_updates_menuitem = dbusmenu_menuitem_new(); dbusmenu_menuitem_property_set (software_updates_menuitem, DBUSMENU_MENUITEM_PROP_LABEL, @@ -554,6 +569,7 @@ device_menu_mgr_build_settings_items (DeviceMenuMgr* self) dbusmenu_menuitem_child_add_position(self->root_item, software_updates_menuitem, 3); +#endif /* HAVE_APT */ DbusmenuMenuitem * separator1 = dbusmenu_menuitem_new(); dbusmenu_menuitem_property_set (separator1, @@ -787,9 +803,11 @@ DeviceMenuMgr* device_menu_mgr_new (SessionDbus* session_dbus, gboolean greeter_ DeviceMenuMgr* device_mgr = g_object_new (DEVICE_TYPE_MENU_MGR, NULL); device_mgr->session_dbus_interface = session_dbus; device_menu_mgr_build_static_items (device_mgr, greeter_mode); +#ifdef HAVE_APT if (software_updates_menuitem != NULL) { device_mgr->apt_watcher = apt_watcher_new (session_dbus, software_updates_menuitem); } +#endif /* HAVE_APT */ return device_mgr; } -- cgit v1.2.3 From 38923e553288e7d69d7c524bd1a7010cc83e77db Mon Sep 17 00:00:00 2001 From: Marc Deslauriers Date: Mon, 30 Jan 2012 09:39:29 -0500 Subject: Remove dead GSS throttling code. Let gnome-settings-daemon handle locking the screen when UPower requests it. --- src/device-menu-mgr.c | 26 +--------------- src/lock-helper.c | 86 --------------------------------------------------- src/lock-helper.h | 3 -- 3 files changed, 1 insertion(+), 114 deletions(-) (limited to 'src/device-menu-mgr.c') diff --git a/src/device-menu-mgr.c b/src/device-menu-mgr.c index 3858564..d3734a2 100644 --- a/src/device-menu-mgr.c +++ b/src/device-menu-mgr.c @@ -83,7 +83,6 @@ static DBusGProxy * up_prop_proxy = NULL; static void device_menu_mgr_ensure_settings_client (DeviceMenuMgr* self); static void setup_up (DeviceMenuMgr* self); static void device_menu_mgr_rebuild_items (DeviceMenuMgr *self); -static void lock_if_possible (DeviceMenuMgr* self); static void machine_sleep_with_context (DeviceMenuMgr* self, gchar* type); static void show_system_settings_with_context (DbusmenuMenuitem * mi, @@ -173,27 +172,6 @@ keybinding_changed (GSettings *settings, return; } -/* Check to see if the lockdown key is protecting from - locking the screen. If not, lock it. */ -static void -lock_if_possible (DeviceMenuMgr* self) { - device_menu_mgr_ensure_settings_client (self); - - if (!g_settings_get_boolean (lockdown_settings, LOCKDOWN_KEY_SCREENSAVER)) { - lock_screen (NULL, 0, NULL); - } - return; -} - -/* A return from the command to sleep the system. Make sure - that we unthrottle the screensaver. */ -static void -sleep_response (DBusGProxy * proxy, DBusGProxyCall * call, gpointer data) -{ - screensaver_unthrottle(); - return; -} - static void machine_sleep_from_suspend (DbusmenuMenuitem * mi, guint timestamp, @@ -221,11 +199,9 @@ machine_sleep_with_context (DeviceMenuMgr* self, gchar* type) g_warning("Can not %s as no upower proxy", type); } - screensaver_throttle(type); - lock_if_possible (self); dbus_g_proxy_begin_call(up_main_proxy, type, - sleep_response, + NULL, NULL, NULL, G_TYPE_INVALID); diff --git a/src/lock-helper.c b/src/lock-helper.c index 4c91aa5..8eae674 100644 --- a/src/lock-helper.c +++ b/src/lock-helper.c @@ -29,8 +29,6 @@ with this program. If not, see . static DBusGProxy * gss_proxy = NULL; static GMainLoop * gss_mainloop = NULL; -static guint cookie = 0; -static DBusGProxyCall * cookie_call = NULL; static gboolean is_guest = FALSE; @@ -38,90 +36,6 @@ static GSettings * settings = NULL; void build_gss_proxy (void); -/* Checks to see if there is an error and reports - it. Not much else we can do. */ -static void -unthrottle_return (DBusGProxy * proxy, DBusGProxyCall * call, gpointer data) -{ - GError * error = NULL; - dbus_g_proxy_end_call(proxy, call, &error, - G_TYPE_INVALID); - - if (error != NULL) { - g_warning("Unable to unthrottle: %s", error->message); - } - return; -} - -/* Sends an unthrottle if we're throttled. */ -void -screensaver_unthrottle (void) -{ - g_return_if_fail(cookie != 0); - - build_gss_proxy(); - g_return_if_fail(gss_proxy != NULL); - - dbus_g_proxy_begin_call(gss_proxy, "UnThrottle", - unthrottle_return, NULL, - NULL, - G_TYPE_UINT, cookie, - G_TYPE_INVALID); - - cookie = 0; - return; -} - -/* Gets there return cookie from the throttle command - and sets things valid */ -static void -throttle_return (DBusGProxy * proxy, DBusGProxyCall * call, gpointer data) -{ - GError * error = NULL; - cookie_call = NULL; - - dbus_g_proxy_end_call(proxy, call, &error, - G_TYPE_UINT, &cookie, - G_TYPE_INVALID); - - if (error != NULL) { - g_warning("Unable to throttle the screensaver: %s", error->message); - return; - } - - - if (cookie == 0) { - g_warning("We didn't get a throttle cookie!"); - } - - return; -} - -/* Throttling the screensaver by using the screen saver - command. */ -void -screensaver_throttle (gchar * reason) -{ - g_return_if_fail(cookie_call == NULL); - g_return_if_fail(will_lock_screen()); - - if (cookie != 0) { - screensaver_unthrottle(); - } - - build_gss_proxy(); - g_return_if_fail(gss_proxy != NULL); - - cookie_call = dbus_g_proxy_begin_call(gss_proxy, "Throttle", - throttle_return, NULL, - NULL, - G_TYPE_STRING, "Session Menu", - G_TYPE_STRING, reason, - G_TYPE_INVALID); - - return; -} - /* This is our logic on whether the screen should be locked or not. It effects everything else. */ gboolean diff --git a/src/lock-helper.h b/src/lock-helper.h index 37f1448..e2d5106 100644 --- a/src/lock-helper.h +++ b/src/lock-helper.h @@ -24,9 +24,6 @@ with this program. If not, see . #include -void screensaver_throttle (gchar * reason); -void screensaver_unthrottle (void); - gboolean will_lock_screen (void); void lock_screen (DbusmenuMenuitem * mi, guint timestamp, gpointer data); gboolean lock_screen_setup (gpointer data); -- cgit v1.2.3 From ab073d8e5adf1b6771f5d9e5f4b8aaf20800b604 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 31 Jan 2012 21:21:26 -0600 Subject: Modifying includes to not include libdbusmenu-gtk3 stuff --- src/apt-watcher.h | 4 ---- src/device-menu-mgr.c | 1 - src/indicator-session.c | 4 ---- src/session-service.c | 4 ---- src/udev-mgr.h | 4 ---- src/user-menu-mgr.h | 2 +- src/user-widget.h | 4 ---- 7 files changed, 1 insertion(+), 22 deletions(-) (limited to 'src/device-menu-mgr.c') diff --git a/src/apt-watcher.h b/src/apt-watcher.h index 7b98a44..6b7d5e1 100644 --- a/src/apt-watcher.h +++ b/src/apt-watcher.h @@ -25,11 +25,7 @@ with this program. If not, see . #include #include -#if GTK_CHECK_VERSION(3, 0, 0) -#include -#else #include -#endif #include "session-dbus.h" diff --git a/src/device-menu-mgr.c b/src/device-menu-mgr.c index 3858564..6ce5962 100644 --- a/src/device-menu-mgr.c +++ b/src/device-menu-mgr.c @@ -19,7 +19,6 @@ with this program. If not, see . #include #include -#include #include "device-menu-mgr.h" #include "settings-helper.h" diff --git a/src/indicator-session.c b/src/indicator-session.c index ec49f0e..bd7bcd3 100644 --- a/src/indicator-session.c +++ b/src/indicator-session.c @@ -31,11 +31,7 @@ with this program. If not, see . #include #include -#if GTK_CHECK_VERSION(3, 0, 0) -#include -#else #include -#endif #include #include diff --git a/src/session-service.c b/src/session-service.c index 753e304..6ee18e9 100644 --- a/src/session-service.c +++ b/src/session-service.c @@ -39,11 +39,7 @@ with this program. If not, see . #include #include -#if GTK_CHECK_VERSION(3, 0, 0) -#include -#else #include -#endif #include diff --git a/src/udev-mgr.h b/src/udev-mgr.h index 5119803..2e57cff 100644 --- a/src/udev-mgr.h +++ b/src/udev-mgr.h @@ -24,11 +24,7 @@ with this program. If not, see . #include #include -#if GTK_CHECK_VERSION(3, 0, 0) -#include -#else #include -#endif G_BEGIN_DECLS diff --git a/src/user-menu-mgr.h b/src/user-menu-mgr.h index 01823e7..40f7b18 100644 --- a/src/user-menu-mgr.h +++ b/src/user-menu-mgr.h @@ -23,7 +23,7 @@ with this program. If not, see . #include -#include +#include #include "session-dbus.h" diff --git a/src/user-widget.h b/src/user-widget.h index e1f6d1a..52a5e34 100644 --- a/src/user-widget.h +++ b/src/user-widget.h @@ -20,11 +20,7 @@ with this program. If not, see . #define __USER_WIDGET_H__ #include -#if GTK_CHECK_VERSION(3, 0, 0) -#include -#else #include -#endif G_BEGIN_DECLS -- cgit v1.2.3