Mike Blumenkrantz
6d976ab6e3
reject focus-set attempt if desk flip to client's desk was rejected
...
in the case of recursive desk flips, toggling a desk's visibility may
erroneously send queued evas events to the client's frame object, leading
to a focus-set (mouse-based focus models) which triggers a desk flip
inside the original desk flip. this "inner" desk flip is spurious and
should be ignored
2015-08-21 15:46:13 -04:00
Mike Blumenkrantz
218064ffe0
add some smart callbacks for comp objects on redirect/dirty state change
2015-08-20 15:55:35 -04:00
Mike Blumenkrantz
5b4ef00d56
force render queue and check for redirection on clients with 0x0 pixmaps
...
fixes an issue where resizing the current nocomp client could result in a
broken compositor until a render queue was triggered
2015-08-20 15:39:22 -04:00
Mike Blumenkrantz
28c84f92dc
don't iterate damage rects during render in wayland compositor mode
...
this is a no-op that spins for no reason
2015-08-12 14:13:21 -04:00
Mike Blumenkrantz
f29410b084
force copy rendering for argb wayland clients
...
wayland protocol for shm handling is broken for now and I can't fix
real issues because of the constant crashing when buffers disappear
randomly
2015-08-12 14:12:04 -04:00
Mike Blumenkrantz
9613b1faff
do not add render update on resize fail due to unusable pixmap in wl
...
this will not have any effect
2015-08-12 13:45:19 -04:00
Mike Blumenkrantz
01ba4eea55
end compositor animations for dead clients on hide
...
fixes a huge object leak in xwayland related to menus
2015-07-29 15:25:22 -04:00
Mike Blumenkrantz
818fcb01f4
fix compositing error when client is ec->hidden during show animation
...
this prevented clients from being deleted and resulted in artifacts and
memory leaks
2015-07-22 13:30:02 -04:00
Mike Blumenkrantz
3c3f0845f3
fix typo in comp object opaque region render
...
#DerekWasRight
2015-07-20 17:26:13 -04:00
Mike Blumenkrantz
f6725c53a4
move opaque region (image border) apply to render fn
...
this seems to provide a more accurate region for rendering in my tests,
as various weston-apps no longer show black rects during resize
2015-07-20 14:38:44 -04:00
Carsten Haitzler
94a15856bd
e - unbreak client pixmaps when native surf is used
...
this unbreaks disappearing client content introduced by
5a001b1759
.
2015-07-18 23:39:46 +09:00
Mike Blumenkrantz
6b7ce91373
do not set opaque regions on comp object mirrors
...
based on testing, this breaks all rendering of related objects. I
suspect that the image border needs to be manually scaled based on
image::mirror proportions in order for this to work as expected, but
adding the required code seems like too much complexity for nearly zero
gain
2015-07-17 16:09:52 -04:00
Mike Blumenkrantz
1d4d906361
render surface opaque regions as opaque when image border is set
...
it seems that just setting the opaque region is not enough for evas;
we must also inform it that the opaque region is opaque and should not
be blended
2015-07-17 16:07:01 -04:00
Mike Blumenkrantz
5a001b1759
enforce image border/size/pixels_dirty setting on comp mirrors during create
...
this should provide a more accurate first-render for mirrors as they are added
2015-07-17 15:30:30 -04:00
Mike Blumenkrantz
9bdb805f48
account for race condition when creating initial comp object updates tiler
...
under wayland, some surfaces (eg. cursors) would attempt to show prior to
having acquired their actual size. these show attempts should be rejected
until the size has been set to ensure that rendering can proceed as expected
fix T2557
2015-07-08 12:36:36 -04:00
Mike Blumenkrantz
c961408d7f
block client signal binding activation when mouse action is active
...
this prevents oddities such as activating [window shade] and [resize] actions
simultaneously from breaking the compositor
2015-07-07 13:12:20 -04:00
Mike Blumenkrantz
58256b851e
fix focus FIXME regarding focus-setting on clients from other desks
...
fix T2259
2015-06-29 15:47:57 -04:00
Mike Blumenkrantz
2936a4ccfe
handle compositor animation race condition when changing effects
...
this is more of an academic case than any existing scenario, but
it's possible that an effect may be stopped by something attempting
to trigger another effect during the animation
2015-06-20 12:31:32 -04:00
Mike Blumenkrantz
dc444f5489
fix animation refcounting when toggling object visibility very quickly
...
previously the animating flag would receive an additional increment for
every effect, even if it was currently animating a prior effect, leading
to objects which were never deleted
2015-06-19 16:28:13 -04:00
Mike Blumenkrantz
6d9c2a5371
add comp object bool flag to indicate whether a compositor effect is currently running
2015-06-19 16:27:51 -04:00
Mike Blumenkrantz
8f76e14e66
make e_comp_object_effect_stop() return bool for object validity
2015-06-19 16:27:32 -04:00
Mike Blumenkrantz
2a137d4fbe
sanitize bool return of _e_comp_object_animating_end()
2015-06-19 16:25:33 -04:00
Mike Blumenkrantz
9c3427a66c
return an accurate value for override clients in e_comp_object_util_zone_get()
2015-06-17 15:58:39 -04:00
Mike Blumenkrantz
35d08b996f
use current zone for visibility effects on override windows
2015-06-17 15:58:32 -04:00
Yomi
0dc33a5aeb
Fix misspellings in E's files.
...
Summary: Fix misspellings and spaces in E's files.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2676
2015-06-16 16:10:21 -04:00
Mike Blumenkrantz
da895a24dd
only play visibility effects for allowed clients
2015-06-15 17:02:47 -04:00
Mike Blumenkrantz
73fecddd7e
add utility function for determining if a comp object should animate
2015-06-15 17:00:29 -04:00
Mike Blumenkrantz
75d0a1a681
send client/screen/pointer geometry to visibility effect edje
2015-06-15 13:47:33 -04:00
Mike Blumenkrantz
c914e9bac2
unify comp object visibility effect animation code
2015-06-15 13:47:01 -04:00
Mike Blumenkrantz
aea0ffc0ca
add flag for detecting whether an effect is currently set on a comp object
...
also improve refcounting for effect apis and add return values for use in
determining whether an effect was successfully set/started
2015-06-15 13:44:47 -04:00
Mike Blumenkrantz
8ab1d7da3a
add flag to E_Comp_Object for detecting show animation state
...
this allows improvements to the code which provides hide animations,
allowing clients to begin hiding during their show animations instead
of rendering a black rectangle
2015-06-15 13:41:42 -04:00
Carsten Haitzler
6b64e40122
e - e client, comp win etc. reffing fix ... part 2
...
this follows 56cabf59c6
then
4e5521b4d8
where i have been trying to
fix a crash with e client and comp win references etc. i have gone
over all referencing with a fine tooth comb and found all the nigglies
i can., no leaks now, no crashes, no valgrind complaints etc. so i
call this fixed now. as best i know this is new in e20, so not a
backport fix
2015-06-15 20:27:25 +09:00
Carsten Haitzler
56cabf59c6
e - bring back fullscreen crash bug while fixing refcount correctness
...
refs were inconsistent - thus this fixed the fullscreen quit bug by
never freeing a client. this brings the bug back by fixing this client
leak. i'll look again at this later.
2015-06-14 19:16:09 +09:00
Carsten Haitzler
4e5521b4d8
e comp - fix refcounting for e_comp and comp clients
...
the refcoutning for e_comp and e comp clients seemed to be a bit off -
i read over every ref and unref carefully and fix it. this leads to
the com-_data being null (properly now), so now check for that too.
2015-06-14 16:06:37 +09:00
Mike Blumenkrantz
ba39887b26
rename visibility effect struct member effect -> visibility_effect
...
feeble attempt at making future added effects more intelligible
2015-06-11 12:47:04 -04:00
Mike Blumenkrantz
ef5bfbad26
add compositor visibility effects and matching configuration
...
these are specific types of animation for use when toggling window visibility.
they combine with existing compositor window animations to provide nicer integration
for very specific types of windows
see https://www.youtube.com/watch?v=hIVdd0Z2K00 for a demo
2015-06-11 11:35:44 -04:00
Mike Blumenkrantz
7f63c4ec2d
allow comp matching for UNKNOWN type windows
...
sometimes this is a valid type and we want to match it
2015-06-11 11:33:45 -04:00
Mike Blumenkrantz
38670e0553
disable animations on clients during hide
2015-06-08 14:47:42 -04:00
Mike Blumenkrantz
424bdf93be
only freeze/thaw edje objects on non-input clients
2015-06-08 14:46:33 -04:00
Chris Michael
0a94e8ba71
enlightenment: Make E build again with EFL from git
...
sed -i 's/EAPI/E_API/g'
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz
2e0bb7dc36
freeze comp object edjes while not hidden
...
requested by cedric
2015-04-29 12:55:42 -04:00
Mike Blumenkrantz
0d439345c1
set focus on comp autoclose objects
...
fix T2114
2015-04-27 13:20:52 -04:00
Mike Blumenkrantz
b9c4171ab1
do not pass key events through autoclose handler
2015-04-27 13:04:53 -04:00
Mike Blumenkrantz
b825af34cf
use client geom for comp object centering functions if ec->new_client is set
2015-04-21 15:05:25 -04:00
Mike Blumenkrantz
db9348c16f
do not attempt to re-center fullscreen/maximized internal windows
...
fix T2279
2015-04-13 15:39:30 -04:00
Mike Blumenkrantz
58447e9508
completely remove E_Manager
...
the final step in flattening all the canvas/screen apis
2015-03-19 16:53:32 -04:00
Mike Blumenkrantz
d4c0a663cf
only throw frame object size CRI for X comp objects
2015-03-17 16:15:23 -04:00
Mike Blumenkrantz
1736d1ecb9
e_client functions no longer require E_Comp param
2015-03-13 16:53:19 -04:00
Mike Blumenkrantz
d00127c2f5
e_comp functions no longer require E_Comp param
2015-03-13 16:48:41 -04:00
Mike Blumenkrantz
1fe1c94245
comp canvas functions no longer require an E_Comp param
2015-03-13 16:07:08 -04:00