if "theme is transparent" and this is an issue - dont use that theme.
very simple. the theme for a desk LOCK should be solid. it should hide
what is underneath. that is the POINT is can have transition effects
and that is why we shouldnt hide what is under it to allow that to
happen otherwise if you do have such an effect (eg a fade in) you just
get a black screen instantly on ctrl+alt+l for lock for example THEN
it fades in which is not how things SHOULD look.
yes - there is an issue on locking on screen lock where you get an
initial fade in effect for example as desklock is shown LATER like
when screen "unsuspends" from blank rather thanbefore this point. that
is orthogonal. this rect should block events... not pixels. don't use
non-solid themes or images if you dont want to see through...
in some cases, eg., -Wformat-nonliteral, warnings may be generated for
valid uses of C, but the warning is still useful. this allows certain warnings
to be disabled as necessary
block rects are for blocking view of the desktop. they exist for security,
preventing the desktop from being visible if a transparent lockscreen is
in use.
also split block_rects into per-zone rects for later use
ref c997077c17
Eina_List *l is already previously defined at the top of this
function. Since we are just using it for list iteration, there is no
need to define it again.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
now they can be trule async hopefully stopping things like application
menu from stalling while loading icons header... which is really nasty
with svg's. this actually makes icons async by default which is really
EXACTLY what you want. this also prepares for later making edje loads
async.
@feature
so we have some dialog saying we're suspending/shutting down etc. etc.
and this is really pointless as comp already does a screen-wide effect
like fading out etc. and these dialogs were added long before we had a
compositor. there isn't much point anymore so remove them and let comp
deal with it.
this makes tasks behave like you'd expect with a stack - only show the
top one and track properly. tasks was simple and easiest to do first
as it has little fluff other than the tasks logic itself. other
elements of e next...
ALSO dont remove dups from e_module_new as we may be walking at the
time. instead refuse to load a module alread loaded bu name. this
should solve things better.
@fix
so e config would add lunhcers forevert. i spotted 13 of them. no.
just one. also make them delayed because thats pretty much what we
always want. same with other config added modules. should be delayed
generally.
this adds core basic handling for window stacks where windows behave
correctly as a single unified stack something like what naviframe does
but out-of-window so you can including multiple processes. only on x11
right now as it's being supported/worked on.
as we dont plan to kepe naviframe in future, this is the way to go.
naviframe "pages" will be windows in a stack. the wm should do the
nice thing. in e this will be very nice. for now elsewhere we use
transient_for so a wm would treat this like a bunch of dialogs with a
single parent window. i guess in a desktop thats probably what you
might expect. e will be a little more "finesse" filled.
need to make ibar, tasks,m win menu and winlist (alt-tab) respect this
and only show the top member of a stack.
need to send messages to clients when they are "top" or "middle" or
"bottom" or "alone" in the stack or something so decorations can change.
should add soem new border signals in theme (for both SSD and CSD) to
make this look nice. will need some config additions for that and
ability for e comp to do the right thing
but this is a solid start
==13307== 96 bytes in 1 blocks are definitely lost in loss record 6,598 of 11,698
==13307== at 0x4C2DA60: calloc (vg_replace_malloc.c:711)
==13307== by 0xCECA287: eina_tiler_iterator_new (eina_tiler.c:1299)
==13307== by 0x46D13D: e_comp_object_render (e_comp_object.c:3966)
==13307== by 0x46DB42: e_comp_object_dirty (e_comp_object.c:3923)
==13307== by 0x46017D: _e_comp_client_update (e_comp.c:343)
==13307== by 0x46017D: _e_comp_cb_update (e_comp.c:400)
==13307== by 0xB34D4BA: _ecore_job_event_handler (ecore_job.c:98)
==13307== by 0xB34909C: _ecore_call_handler_cb (ecore_private.h:317)
==13307== by 0xB34909C: _ecore_event_call (ecore_events.c:518)
==13307== by 0xB350527: _ecore_main_loop_iterate_internal (ecore_main.c:2359)
==13307== by 0xB3508A6: ecore_main_loop_begin (ecore_main.c:1287)
==13307== by 0x43C88A: main (e_main.c:1093)
this automatically handles the case where enlightenment has commandeered the
cursor temporarily and the active client has not unset+set a new cursor in the
meantime
these later get overridden onto the pointer layer, but setting a layer
here ensures that the pointer surface will always be the client
returned by e_client_top_get()
We shouldn't be doing this, but there's a collective memory that
this was put in place to fix stuck modifier bugs.
If we run into stuck modifiers again because of this patch, then we
should be fixing them in a different way.
If anyone bisects to this point, I apologize - assign me a ticket.
so since e_util_defer_object_del used a before idler this would
reverse deletion order vs the order submitted. this may cause issues.
not sure. chasing netstar's "animator stops" issue, but if defered
deletion if disabled seems to stop it from happening.
at least fix order if multiple deferred deletions are queued
@fix
The focus in timer has been firing for deleted clients, this causes a
NULL pointer dereference.
Then again, maybe the timer should've been disabled by now...
_parent_client_contains_pointer() shouldn't return true if there is no
parent client. This could result in leaving stale resources in the
keyboard focus list and crash the compositor.
When building enlightement without xwayland, we need to provide
MESA_EGL_NO_X11_HEADERS in the CFLAGS to avoid including X11/Xlib.h.
This define is provided by WAYLAND_EGL_CFLAGS, so add it for E modules
and e_fm build.
Fixes:
In file included from /usr/include/EGL/egl.h:39:0,
from ./src/bin/e.h:108,
from src/modules/mixer/lib/backends/pulseaudio/pulse.c:1:
/usr/include/EGL/eglplatform.h:119:22: erreur fatale : X11/Xlib.h
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Now that the ecore_evas_drm code can return screen dpi, we can use
that rather than using a client API function (ecore_wl2) to get server
screen dpi.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
in the case where warping would not occur and a mouse-based focus policy was
not in use, this would break mouse eventing on wayland when a window lost focus
but the cursor remained inside the window
ref 3e6d6b348f
As we do not compile-time link with libdrm inside Ecore_Drm2 anymore,
we need to include relivant bits of drm_fourcc header here in order to
define DRM_FORMAT_XRGB8888 else we fail to compile Enlightenment Wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Similar set of changes to the recent input region changes. They may not
have been quite so broken to begin with, but it's probably less confusing
to treat both types of region the same way.