aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/CMakeLists.txt20
-rw-r--r--data/indicator-session.conf.in3
-rw-r--r--data/indicator-session.desktop.in4
-rw-r--r--data/indicator-session.upstart.desktop.in9
-rw-r--r--debian/changelog13
-rw-r--r--debian/control1
-rw-r--r--src/service.c10
7 files changed, 54 insertions, 6 deletions
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 163e2cd..a6a2e9f 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -57,6 +57,26 @@ configure_file ("${XDG_AUTOSTART_FILE_IN}" "${XDG_AUTOSTART_FILE}")
install (FILES "${XDG_AUTOSTART_FILE}"
DESTINATION "${XDG_AUTOSTART_DIR}")
+##
+## Upstart XDG Autostart Override
+##
+
+# where to install
+set (UPSTART_XDG_AUTOSTART_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/upstart/xdg/autostart")
+message (STATUS "${UPSTART_XDG_AUTOSTART_DIR} is the Upstart XDG autostart override dir")
+
+set (UPSTART_XDG_AUTOSTART_NAME "${CMAKE_PROJECT_NAME}.upstart.desktop")
+set (UPSTART_XDG_AUTOSTART_FILE "${CMAKE_CURRENT_BINARY_DIR}/${UPSTART_XDG_AUTOSTART_NAME}")
+set (UPSTART_XDG_AUTOSTART_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${UPSTART_XDG_AUTOSTART_NAME}.in")
+
+# build it
+set (pkglibexecdir "${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}")
+configure_file ("${UPSTART_XDG_AUTOSTART_FILE_IN}" "${UPSTART_XDG_AUTOSTART_FILE}")
+
+# install it
+install (FILES "${UPSTART_XDG_AUTOSTART_FILE}"
+ DESTINATION "${UPSTART_XDG_AUTOSTART_DIR}"
+ RENAME "${XDG_AUTOSTART_NAME}")
##
## Unity Indicator File
diff --git a/data/indicator-session.conf.in b/data/indicator-session.conf.in
index 6bd93a2..c7530e3 100644
--- a/data/indicator-session.conf.in
+++ b/data/indicator-session.conf.in
@@ -1,8 +1,9 @@
description "Indicator Session Service"
-start on indicators-loaded or indicator-services-start
+start on indicator-services-start
stop on desktop-end or indicator-services-end
respawn
+respawn limit 2 10
exec @pkglibexecdir@/indicator-session-service
diff --git a/data/indicator-session.desktop.in b/data/indicator-session.desktop.in
index b6d289d..10dcadd 100644
--- a/data/indicator-session.desktop.in
+++ b/data/indicator-session.desktop.in
@@ -2,8 +2,8 @@
Type=Application
Name=Indicator Session
Exec=@pkglibexecdir@/indicator-session-service
-NotShowIn=Unity;
+OnlyShowIn=Unity;GNOME;
NoDisplay=true
StartupNotify=false
Terminal=false
-
+AutostartCondition=GNOME3 unless-session gnome
diff --git a/data/indicator-session.upstart.desktop.in b/data/indicator-session.upstart.desktop.in
new file mode 100644
index 0000000..f4970f6
--- /dev/null
+++ b/data/indicator-session.upstart.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Indicator Session
+Exec=@pkglibexecdir@/indicator-session-service
+OnlyShowIn=Unity;
+NoDisplay=true
+StartupNotify=false
+Terminal=false
+Hidden=true
diff --git a/debian/changelog b/debian/changelog
index e34c3d3..7143125 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+indicator-session (12.10.5+14.04.20140320-0ubuntu1) trusty; urgency=low
+
+ [ Charles Kerr ]
+ * Don't show the lockscreen accelerator in switch-user mode. (LP:
+ #1241906)
+ * indicator-session relies on the org.gnome.desktop.lockdown schema
+ provided by gsettings-desktop-schemas. (LP: #1212664)
+
+ [ Ted Gould ]
+ * Synchronize process management across indicators
+
+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 20 Mar 2014 19:18:01 +0000
+
indicator-session (12.10.5+14.04.20140311.1-0ubuntu1) trusty; urgency=low
[ Marco Trevisan (Treviño) ]
diff --git a/debian/control b/debian/control
index 03c19f2..fb067cc 100644
--- a/debian/control
+++ b/debian/control
@@ -25,6 +25,7 @@ Depends: ${shlibs:Depends},
${misc:Depends},
systemd-services,
gnome-settings-daemon-schemas,
+ gsettings-desktop-schemas,
Recommends: indicator-applet (>= 0.2) | indicator-renderer,
gnome-screensaver,
yelp,
diff --git a/src/service.c b/src/service.c
index 88ce6b1..5136a44 100644
--- a/src/service.c
+++ b/src/service.c
@@ -518,9 +518,9 @@ serialize_icon_file (const gchar * filename)
static GMenuModel *
create_switch_section (IndicatorSessionService * self, int profile)
{
- gchar * str;
GMenu * menu;
GMenuItem * item;
+ gboolean want_accel;
guint i;
gpointer guser;
GHashTableIter iter;
@@ -535,6 +535,7 @@ create_switch_section (IndicatorSessionService * self, int profile)
{
const char * action = "indicator.switch-to-screensaver";
item = g_menu_item_new (_("Start Screen Saver"), action);
+ want_accel = TRUE;
}
else if (profile == PROFILE_LOCKSCREEN ||
indicator_session_guest_is_active (p->backend_guest))
@@ -542,6 +543,7 @@ create_switch_section (IndicatorSessionService * self, int profile)
const char * action = "indicator.switch-to-greeter";
item = g_menu_item_new (ellipsis ? _("Switch Account…")
: _("Switch Account"), action);
+ want_accel = FALSE;
}
else
{
@@ -552,11 +554,13 @@ create_switch_section (IndicatorSessionService * self, int profile)
else
item = g_menu_item_new (ellipsis ? _("Lock/Switch Account…")
: _("Lock/Switch Account"), action);
+
+ want_accel = TRUE;
}
- if (profile != PROFILE_LOCKSCREEN)
+ if (want_accel)
{
- str = g_settings_get_string (p->keybinding_settings, "screensaver");
+ gchar * str = g_settings_get_string (p->keybinding_settings, "screensaver");
g_menu_item_set_attribute (item, "accel", "s", str);
g_free (str);
}