desklock's layer is below the start splash layer, so this can just be shown any time regardless of whether it's enabled. security++
previously the fact that e was restarting could break out of desklocked startup due to how the env variables were set. now there is a new variable which only gets set when the screen is locked which will force lock on startup even during restarts
T681
This reverts commit db72a84e58.
this whole idea was broken. I blame the british food/water/oxygen/etc. it broke click renaming and all kinds of other things. changing the edc (in latest elm/1.8) is a much better and more effective solution
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.
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.
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
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>
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
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.
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
1) efm fix: last_selection resets when icons are freed
2) When no icon is selected select first on Right/Down press or last on Left/Up keypress
3) Maintain order in range selection from first to last.
buckle up. for the first time in history, a config option is getting removed instead of added.
the reasons for this removal are many, but let's go way back to the beginning and see why it was added:
oh wait, we can't because the commit message (from 2006) is
>> patches that i said were in - commit. (see my reply emails)
>> also finish off a TODO item or 2
reading through the TODO items which were also crossed off in that commit, I'm assuming that this was the "option to NOT raise on focus in click to focus" item.
== REASON 1 ==
the problem here is that there's another, BETTER option called "click raises window" (always_click_to_raise) which does the same thing, except it doesn't totally fuck you when you get a random X focus event, which happens more often than you might think.
this means that, to avoid broken behavior which might cause your windows to spastically raise for a few frames in common cases (using winlist...) with click-to-focus, you have to know that this is the default-enabled option that's fucking you, and you have to remember to manually disable it every time. if you DON'T know that this is the option that's fucking you, and you just see windows randomly raising on their own, you'll probably either ignore it or file a bug, when this is supposed to be a "feature" that actually worked in reverse, since it was intended only for disabling.
== REASON 2 ==
there's also auto-raise, which can be set to 0.0s, which is effectively the same thing since it also triggers on focus but can be configured not to fuck your window stack
== REASON 3 ==
aaand finally, this option makes any sort of pointer focus model impossible to use, since your windows will constantly be raising all over as you move the mouse
tl;dr: I'm removing it, e-dealwithit.gif
there's only more than one manager when we're running true multi-head, which is pretty rare/non-existent with compositing, so we can avoid an X call here by just returning the only possible manager
i got a segv in an strncpy... but the bt missed telling me anything
other than it was in _e_border_eval(). gdb wouldn't help.
Thread 1 (Thread 0xb7859780 (LWP 1377)):
No symbol table info available.
No locals.
No symbol table info available.
No locals.
at /usr/include/i386-linux-gnu/bits/string3.h:121
buf = '\000' <repeats 4095 times>
s = <optimized out>
event = <optimized out>
pnd = <optimized out>
rem_change = 1
send_event = 1
since this is the only strncpy, i can only conclude that something is
fishy about the src or dest buffer, and i can only guess that the
strncpy is directly in e_border.c (though it could have come from an
inline func or macro form eina etc.)... but it's the best guess i have.
the strncpy will have problems if bd->client.icccm.class > 4096 in
size. buf will not be nul terminated then:
The strncpy() function is similar, except that at most n bytes of src
are copied. Warning: If there is no null byte among the first n bytes
of src, the string placed in dest will not be null-terminated.
as per manpage. so there was a lurking bug with a non 0 terminated
buffer. also added check for bd->client.icccm.class as it could be
null...
this fixes the case where a drag is occurring on a window and the window is closed/hidden before the dnd leave event occurs. previously this would break things to a moderate degree and cause further dnd operations to fail, but now we bravely soldier onward
1) invalidate moves resulting from stupid clients trying to re-set their current position (SUP WINE. YEAH, I'M TALKIN TO YOU, BUDDY. WHY YOU GOTTA BE MESSIN WITH MY WINDOW COORDS?)
2) clamp coords when screen limit policy is set to prevent clients from being outside the screen at all
3) all things are allowed, nothing is prohibited
geometry_auto_move is an option which should only be applied to "new" clients. we were erroneously applying it during client move/resize requests, which likely was causing unintended behavior. if this becomes an issue, the correct solution is to create (groan) another option to enforce window placement policy either [at all times] or [for client geometry requests]
- Add some more debugging printouts
- When we initially plug in a monitor, set to Clone by default
- During initial clone, we cannot assume the plugged-in device
supports the same Mode so try to find a mode based on size.
- On output changes, test that an output has a crtc assigned.
- If a detached output Was the primary monitor, reset primary in config
to a valid existing monitor.
- Improve output_crtc_find code for better detection of where we can
place a new output.
- Fix "preferred mode" detection error.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
- Remove singular focus resource references
- Use list of focus resources
NB: Fixes zmike wayland client crash issue ;)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
wayland/weston changes.
- Remove focus_resource and focus_listener
- Use a list of resources instead of singular resource
NB: Fixes zmike wayland client crash issue ;)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
changes.
- Remove function & calls to wl_*_release as they are redefined in
the client protocol again.
- Fix up calls for getting resource_user_data.
- Add WL_HIDE_DEPRECTAED define
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This reverts commit 21f4a15c90.
It breaks make distcheck. Hard to track down as the error messages came
in po processing and looked like this:
0:10:58.392 make[4]: *** No rule to make target `.deps/enlightenment_sys-e_sys_main.Po'. Stop.
The subdir-objects confused our build setup. If anyone thinks this is
still needed and has a better fix go ahead.
this was, I guess, an attempt to provide users with an easily accessible ibar icon when starting a new config. problem: xterm isn't installed by default on ANY distributions! so now we end up providing a launcher which is guaranteed to fail, and that makes us look pretty stupid. same thing goes for mplayer.
regardless of whether they're installed, however, these aren't our apps, so we shouldn't be trying to provide .desktops for them: doing that tell users that we support and recommend the use of these apps, and I'm not prepared to make that claim for any app other than powerpoint.
When calling pointer cursor set, if no current surface is focused then
unmap any existing pointer surface and set to NULL in the structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Fix getting keyboard focused resource when a modifier is pressed.
Flush clients before we dispatch events (clients may add events to the
queue).
Signed-off-by: Chris Michael <cp.michael@samsung.com>