This prevent music player that support the dbus activation system
to be launched at module startup. Instead of blindly request properties
first check if the name has an owner.
As a side effect now the module fully support the dbus activation system:
if your player is not running it will be launched when you click his
name or any of the controls in the popup.
Note: If your player does not provide the autorun feature you can just
create a .service file in dbus share folder with the following content:
[D-BUS Service]
Name=org.mpris.MediaPlayer2.quodlibet
Exec=/usr/bin/quodlibet
...of course you must change the name of your player ;)
Summary: If cserve2 crashes, enlightenment_start will respawn it again.
Test Plan:
Start E18 (in Xephyr maybe) with E_CSERVE set.
Randomly kill evas_cserve2 and enlightenment, and log out from E.
I need review for this patch as I'm not sure about all the ptrace stuff
lying around.
Reviewers: cedric
CC: raster, zmike
Differential Revision: https://phab.enlightenment.org/D287
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
Summary: The other core programs/libs all have a PKGBUILD, so add it here, too.
Reviewers: raster, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D285
Other shell than >=bash-4 and dash does not support '&>' I/O redirection.
Introduce in commit v0.17.0-1871-g18cbd6f
« While at it, I also fixed the piping of stdout and stderr to be nicer. »
After a long and hard battle with the gods of bugs I finally fixed
this stupid hang. I had to dig into the gdb source code, and gdb the
hell out of gdb, but it's now solved.
First of all, we should call gdb with -batch which exits automatically.
This however is not enough to fix it. The bug was that gdb was haning
while trying to set attributes on stdin because it was waiting for input.
This is obviously problematic when running in non-interactive mode, so
I had to pipe /dev/zero to stdin to fix it.
While at it, I also fixed the piping of stdout and stderr to be nicer.
This is a fix to a bug that was happening on my laptop with libreoffice.
When this last one was closed, a segfault was occurring. This was due to
the use of a freed data structure. A pointer to this structure
(instance) was still stored as data of the Ecore_Exe structure.
Now, when the instance is freed, the data of the Ecore_Exe is set to
NULL.
provide a config upgrade path to version 13 which nulls/frees out
theme config (save memory - but more housekeeping), and that also
copeis ofer all files in ~/.e/e/themes to ~/.elementary/themes so you
don't lose themes you personally have and deletes the old e theme dir
if this succeeds.
also remove all #includes of Elementary.h and Emotion.h from single c
files as they are requirements now and in e.h
also remove theme path vars and code as theme path is no longer used.
now e only uses elementary's theme. this is to stop the bitrot and
forking of e's theme vs the unified elm theme that has everything for
e in it already. this obviously makes elm a requirement of e18 on, and
this also notes that emotion is always in efl these days, so its no
longer an option, and ecore-imf is no longer used as edje does the
entires now itself. in future it'll all be elm.
this is a major unification point for themes for elm and e. this will
need some testing, but everything seems to work day-to-day, but theme
selector is untested.
this also removes the theme selector for splash as that is now simply
unified with the same theme as everything else.
if compile time headers (module version) does not match e's version
then modules likely may fail; to work right - so make sure they match
exactly (for release purposes)
pretty sure this doesn't affect anything in e18, but it does break things in a really hard to reproduce setting involving clicking/disabling/focusing widgets simultaneously
this now uses the system ecore timedate change event instead of a
local timerfd. centralized implementation now.
also it fixes yhe eio monitor to ALSO monitor /etc as well to detect
changes to timzesone and filter down to the files needed.
mode->name is NULL by checking mode id instead of name.
Also if we are disabling a monitor, set current mode to 0.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
enlightenment_fm needs some files that are not in its subdirectory, but
rather are shared with enlightenment.
Possible solutions:
1) Use a non-recursive build for enlightenment_fm.
2) Factor out a convenience library containing necessary files
3) Copy over or link the files to build tree directory during build
For simplicity (3) is implemented here. Some files were not necessary
(e_prefix.c and e_sha1.c) and the others are now linked during build to
it's original location.
During distcheck we fail to install the systemd user session unit file
because it's trying to install to the place returned by pkg-config. We
could add a --with-systemduserunitdir= and set it to a proper install
place. This is done in some other programs like systemd. However there's
not much to test for the unit files installation during distcheck so
just pass --disable-systemd that will do the right thing.
Fix the error below:
/usr/bin/install -c -m 644 e18.service '/usr/lib/systemd/user'
/usr/bin/install: cannot remove ‘/usr/lib/systemd/user/e18.service’: Permission denied
make[4]: *** [install-unitsDATA] Error 1
make[4]: Leaving directory `/home/lucas/p/e/enlightenment/enlightenment-0.17.99.17181/_build/data/units'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/home/lucas/p/e/enlightenment/enlightenment-0.17.99.17181/_build/data/units'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/lucas/p/e/enlightenment/enlightenment-0.17.99.17181/_build/data'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/lucas/p/e/enlightenment/enlightenment-0.17.99.17181/_build'
make: *** [distcheck] Error 1
Sadly we can't globally enable subdir-objects due to gettext choking on
it so enable at least where it's necessary. Remove the following
warning from build:
src/bin/e_fm/Makefile.am:40: warning: source file '../e_prefix.c' is in a subdirectory,
src/bin/e_fm/Makefile.am:40: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled. For now, the corresponding output
automake: object file(s) will be placed in the top-level directory. However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.
src/bin/e_fm/Makefile.am:43: warning: source file '../e_fm_shared_codec.c' is in a subdirectory,
src/bin/e_fm/Makefile.am:43: but option 'subdir-objects' is disabled
src/bin/e_fm/Makefile.am:43: warning: source file '../e_fm_shared_device.c' is in a subdirectory,
src/bin/e_fm/Makefile.am:43: but option 'subdir-objects' is disabled
src/bin/e_fm/Makefile.am:43: warning: source file '../e_user.c' is in a subdirectory,
src/bin/e_fm/Makefile.am:43: but option 'subdir-objects' is disabled
src/bin/e_fm/Makefile.am:43: warning: source file '../e_sha1.c' is in a subdirectory,
src/bin/e_fm/Makefile.am:43: but option 'subdir-objects' is disabled