aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2014-03-20 19:17:46 +0000
committerCI bot <ps-jenkins@lists.canonical.com>2014-03-20 19:17:46 +0000
commita93745a8d72665c7417bf44469eee898354894ed (patch)
tree266849534020accd846c0451546abb23aedbff08
parent24a6aab4da668917c9d4e3d84a0d68a70d5d4632 (diff)
parent699d20fbe7cb32077bc332dab8cc70d70f894883 (diff)
downloadayatana-indicator-session-a93745a8d72665c7417bf44469eee898354894ed.tar.gz
ayatana-indicator-session-a93745a8d72665c7417bf44469eee898354894ed.tar.bz2
ayatana-indicator-session-a93745a8d72665c7417bf44469eee898354894ed.zip
Synchronize process management across indicators
-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
4 files changed, 33 insertions, 3 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