On Sat, Mar 30, 2013 at 6:22 AM, Cedric Bail - Enlightenment Git <no-re...@enlightenment.org> wrote: > cedric pushed a commit to branch master. > > commit cd28bc814552bf52bb670e108343b23d48fa839e > Author: Cedric Bail <cedric.b...@free.fr> > Date: Thu Mar 28 23:53:24 2013 +0900 > > e: add support for systemd user session. > --- > ChangeLog | 4 ++++ > NEWS | 1 + > configure.ac | 7 +++++++ > data/Makefile.am | 4 +++- > data/units/Makefile.am | 9 +++++++++ > data/units/e18.service | 27 +++++++++++++++++++++++++ > m4/pkg_var.m4 | 14 +++++++++++++ > src/bin/e_main.c | 55 > ++++++++++++++++++++++++++------------------------ > 8 files changed, 94 insertions(+), 27 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index b040cf5..2b19cb2 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,7 @@ > +2013-03-28 Cedric Bail > + > + * added support for systemd user session. > + > 2013-03-11 Mike Blumenkrantz > > * menus are now drawn directly on the compositor canvas > diff --git a/NEWS b/NEWS > index d8cf3ac..c5d08c7 100644 > --- a/NEWS > +++ b/NEWS > @@ -45,6 +45,7 @@ Additions: > * new option for disabling all pointer warps > * added option for preventing all keyboard layout changes > * added option for remembering filemanager windows globally > + * Added support for systemd user session
Al the others are spaces, you added tabs. > > Changes: > Modules: > diff --git a/configure.ac b/configure.ac > index ef09d46..34e68dd 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -205,6 +205,12 @@ if test "x${have_bluetooth}" = "xyes"; then > AC_DEFINE_UNQUOTED([HAVE_BLUETOOTH], [1], [Bluetooth is there]) > fi > > +# Detect systemd user session directory properly > +EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd], [systemduserunitdir], > + [have_systemd_user_session="yes"], [have_systemd_user_session="no"]) > +AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test > "x${have_systemd_user_session}" = "xyes"]) > +AC_SUBST([USER_SESSION_DIR]) > + it's missing a --with-systemduserunitdir like other packages have. > execinfo_libs="" > AC_CHECK_HEADERS([execinfo.h], [have_execinfo="yes"], [have_execinfo="no"]) > if test "x${have_execinfo}" = "xyes" ; then > @@ -1009,6 +1015,7 @@ data/etc/Makefile > data/etc/sysactions.conf > data/icons/Makefile > data/backgrounds/Makefile > +data/units/Makefile > doc/Makefile > doc/Doxyfile > doc/e.dox > diff --git a/data/Makefile.am b/data/Makefile.am > index f320e9d..dbd5a42 100644 > --- a/data/Makefile.am > +++ b/data/Makefile.am > @@ -10,4 +10,6 @@ icons \ > backgrounds \ > flags \ > favorites \ > -desktop > +desktop \ > +units > + > diff --git a/data/units/Makefile.am b/data/units/Makefile.am > new file mode 100644 > index 0000000..04ed87f > --- /dev/null > +++ b/data/units/Makefile.am > @@ -0,0 +1,9 @@ > +AUTOMAKE_OPTIONS = 1.4 foreign > +MAINTAINERCLEANFILES = Makefile.in > + > +if HAVE_SYSTEMD_USER_SESSION > +unitsdir = $(USER_SESSION_DIR) > +units_DATA = e18.service > +endif > + > +EXTRA_DIST = $(units_DATA) > diff --git a/data/units/e18.service b/data/units/e18.service > new file mode 100644 > index 0000000..79feb40 > --- /dev/null > +++ b/data/units/e18.service > @@ -0,0 +1,27 @@ > +[Unit] > +Description=Enlightenment 17 service > +Before=end.target > +After=xorg.target > +Requires=xorg.target > +Requires=dbus.socket > +Requires=pulseaudio.service > +Requires=ssh-agent.service > +AllowIsolate=true > + > +[Service] > +Type=notify > +#Environment=PATH=uncomment:to:override:your:PATH > +Environment=E_START=enlightenment > +ExecStart=/usr/bin/enlightenment It should use prefix > +Restart=always > +RestartPreventExitStatus=0 > +RestartSec=2 > +StartLimitInterval=30 > +StartLimitBurst=7 > +KillMode=process > +WatchdogSec=1 > +TimeoutSec=1 > +NotifyAccess=all > + > +[Install] > +WantedBy=wm.target > diff --git a/m4/pkg_var.m4 b/m4/pkg_var.m4 > new file mode 100644 > index 0000000..3d0a309 > --- /dev/null > +++ b/m4/pkg_var.m4 > @@ -0,0 +1,14 @@ > +# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, > +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) > +# ------------------------------------------- > +# Retrieves the value of the pkg-config variable for the given module. > +AC_DEFUN([EFL_PKG_CHECK_VAR], > +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl > +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl > + > +_PKG_CONFIG([$1], [variable="][$3]["], [$2]) > +AS_VAR_COPY([$1], [pkg_cv_][$1]) > + > +AS_VAR_IF([$1], [""], [$5], [$4])dnl > +])# PKG_CHECK_VAR > + > diff --git a/src/bin/e_main.c b/src/bin/e_main.c > index 2df3d96..a6cc382 100644 > --- a/src/bin/e_main.c > +++ b/src/bin/e_main.c > @@ -187,32 +187,35 @@ main(int argc, char **argv) > /* trap deadly bug signals and allow some form of sane recovery */ > /* or ability to gdb attach and debug at this point - better than your */ > /* wm/desktop vanishing and not knowing what happened */ > - TS("Signal Trap"); > - action.sa_sigaction = e_sigseg_act; > - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > - sigemptyset(&action.sa_mask); > - sigaction(SIGSEGV, &action, NULL); > - > - action.sa_sigaction = e_sigill_act; > - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > - sigemptyset(&action.sa_mask); > - sigaction(SIGILL, &action, NULL); > - > - action.sa_sigaction = e_sigfpe_act; > - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > - sigemptyset(&action.sa_mask); > - sigaction(SIGFPE, &action, NULL); > - > - action.sa_sigaction = e_sigbus_act; > - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > - sigemptyset(&action.sa_mask); > - sigaction(SIGBUS, &action, NULL); > - > - action.sa_sigaction = e_sigabrt_act; > - action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > - sigemptyset(&action.sa_mask); > - sigaction(SIGABRT, &action, NULL); > - TS("Signal Trap Done"); > + if (!getenv("NOTIFY_SOCKET")) > + { > + TS("Signal Trap"); > + action.sa_sigaction = e_sigseg_act; > + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > + sigemptyset(&action.sa_mask); > + sigaction(SIGSEGV, &action, NULL); > + > + action.sa_sigaction = e_sigill_act; > + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > + sigemptyset(&action.sa_mask); > + sigaction(SIGILL, &action, NULL); > + > + action.sa_sigaction = e_sigfpe_act; > + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > + sigemptyset(&action.sa_mask); > + sigaction(SIGFPE, &action, NULL); > + > + action.sa_sigaction = e_sigbus_act; > + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > + sigemptyset(&action.sa_mask); > + sigaction(SIGBUS, &action, NULL); > + > + action.sa_sigaction = e_sigabrt_act; > + action.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO; > + sigemptyset(&action.sa_mask); > + sigaction(SIGABRT, &action, NULL); > + TS("Signal Trap Done"); > + } > > t = ecore_time_unix_get(); > s = getenv("E_START_TIME"); > > -- > > ------------------------------------------------------------------------------ > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. Compete > for recognition, cash, and the chance to get your game on Steam. > $5K grand prize plus 10 genre and skill prizes. Submit your demo > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 ------------------------------------------------------------------------------ Own the Future-Intel(R) Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel