realistically I shouldn't have merged this into the release last year.
failing that, I probably should have removed it after the release.
even if I didn't remove it, I should have at least updated/tested it.
I did none of these things, and neither did anyone else, and thus we have an unmaintained module in core.
NOT ON MY WATCH
previously we'd clamp to the current screen, but that's not really necessary. also e_popup sucks, so trying to create zone-relative coords is not going to work -> just use first zone always
so i found something interesting. the grab option causes some erratic
framerate in clients IF thoise clients have to sync to the xserver and
themselves try and render more smoothly. it masically means animators
get delayed due to unusually long render times because of this. this
fixes that. this also adds a comp config version number allowing the
code to upgrade a users config to turn this off and thus allows for
future upgrades too.
previously, this conditional would be called on most new submenus, even if the submenu's parent item was the previous item and its menu hadn't been set yet. hours of small mouse movements revealed that this should never be called when the parent item has not yet been set
1. clear out environment as best is possible before executing
anything. especially PATH and IFS are set to minimal base defaults.
also use clearenv() if available and unsetenv()
2. remove gdb method as it's just too dangerous. run it as normal as
the user and if the kernel / distro dny that - then sorry. too bad.
this will shut coverty up (hopefully). it doesn't know that a re-exec
of the process will mean the code never gets out of the if ()...
unless the restart action is never found... and that never happens.
efreet still has lots of problems somewhere (unknown where) with
threaded use. it's just not safe even now. i'm seeing insanely
easy-to-reproduce issues every time i bring up a menu. since this is
unlikely to be solved in efreet before release, don't depend on efreet
being threadsafe and go back to the non-threaded code.
Revert "e: No need to check MINOR twice"
This reverts commit 97dd1d7486.
Revert "app menu parsing is now async with efreet 1.8"
This reverts commit 3989e54e21.
if someone were to ... replace the default theme... and would be missing
groups... in theory the min size calc may fail thus leaving min w/h
unset, so just set them anyway.
Before this commit, this would not always be the case.
I added a "scroll to cursor" for every change in entry size.
This is a further fix to T169. It's not exactly what described there,
but it's a similar issue I found while fixing it.
Somehow of a stage 2 for commit 80844cbcd7.
This also adds changelog and news entries, as this issue is now fully fixed.
Before this commit, setting the text of an entry after the entry
has already been placed and sized, would cause the inside entry
(the one inside of the scroller) size to be the size of the viewport
instead of the real size. This would make some parts of the entry
unreachable.
This fixes T169.
thise commit added focus_policy member to E_Border as something to be used for setting a per-window focus policy. setting it on each window is a huge pain if the global policy ever changes, so it's better to use this member only as an override for the global policy which can be checked to see if it's been set
In my previous commit I did not took into account that ein_file_mkstemp
does not alter the given filename. This is different from mkstemp and I
missed that.
We now ask for the new filename and use it instead.
this fixes stacking after restarts since we manage and raise windows from the bottom up, meaning that we must also build our focus stack from back to front
without this, it was possible to break the compositor by enabling options which prevent unfullscreening a window on vdesk flip, which causes nocomp mode to remain permanently enabled, even after the window has closed
this fixes T444 - the display of text is properly top-left aligned
with scrollbars now actually correct too for the text provided (note
that the preview doesnt put ALL text in there. just the first N bytes
which by default is 2048 but can be changed).
Copy and paste bug introduced in the initial port to edbus.
This could be a cause of problems when using e_fm with removable media and udisk.
CID: 1039955
could potentially crash the entire window manager (for a potentially
bad module).
Fixes Phab Ticket T491
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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>
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.