diff options
-rw-r--r-- | data/CMakeLists.txt | 20 | ||||
-rw-r--r-- | data/indicator-session.conf.in | 3 | ||||
-rw-r--r-- | data/indicator-session.desktop.in | 4 | ||||
-rw-r--r-- | data/indicator-session.upstart.desktop.in | 9 | ||||
-rw-r--r-- | debian/changelog | 13 | ||||
-rw-r--r-- | debian/control | 1 | ||||
-rw-r--r-- | src/service.c | 10 |
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); } |