Commit Graph

358 Commits

Author SHA1 Message Date
Mike Blumenkrantz 35d0279d4f use e_comp->gl flag to set native surface state
e_comp_gl_get() is for determining if gl exists, not if it's being used
2015-11-02 16:25:02 -05:00
Mike Blumenkrantz e7d534ad80 fix comp object native surface config checking for non-x11 compositors 2015-11-02 16:25:02 -05:00
Mike Blumenkrantz b45e16ee23 add native surface (gl) clients to post render list
forgot to add this when I was redoing it for sw

ref 4d30674ab8
2015-11-02 16:24:53 -05:00
Mike Blumenkrantz 21017889b2 adjust non-x11 client's saved frame geometry when changing csd
this seems to be a more comprehensive solution for retaining previous
window sizes after toggling various csd-affecting window states in wayland
2015-10-29 14:35:02 -04:00
Mike Blumenkrantz 98f418afa9 only apply frame geometry deltas for CSD if the CSD region exists
ref e931e86161
2015-10-22 19:25:07 -04:00
Mike Blumenkrantz 6692cefaf5 set client input rects more accurately, accounting for SSD 2015-10-22 19:24:11 -04:00
Mike Blumenkrantz 6f455ac9c3 enforce cw->obj pass_events state more accurately
changing the edje file of cw->shobj can change the pass_events state
of its child object, cw->obj
2015-10-22 19:22:48 -04:00
Mike Blumenkrantz 633c72f6af clip client input rect to client geometry, not window geometry
when using csd, the window geometry will be smaller than the surface,
resulting in an unusually small input region
2015-10-22 18:44:51 -04:00
Mike Blumenkrantz e931e86161 update csd using deltas of previous values
when applying new csd to a window which already has csd, the previous
csd must be removed in order to apply any new csd offsets in order to
avoid unwanted moving/resizing
2015-10-20 12:20:24 -04:00
Mike Blumenkrantz 1a87463083 force a software render in all cases when finalizing x11 client iconify
since ICCCM requires that clients be unmapped while iconified, it's necessary
for the compositor to perform one last render prior to the unmap in order to
ensure that mirror objects will still appear as expected. this render must use
the pixmap buffer data in order to avoid timing issues due to async/deferred
rendering, and it is only necessary for the case of clients rendering with a
native surface

fix T2788
2015-10-15 15:39:07 -04:00
Mike Blumenkrantz 85cf1305be throw an ACK when trying to set comp frame geometry if frame exists 2015-10-05 15:55:44 -04:00
Mike Blumenkrantz 4d30674ab8 move client post-update adding into render function
in some cases, it's possible for a client which expects to render on
the next frame to actually render on the frame after. in these cases,
the compositor must not clear the pixmap image until after the render
has occurred in order to avoid inaccuracies. for this reason, the best
place to flag a client for post-render work is at the time of the client's
render

ref T2762
ref D3120
2015-10-02 13:57:29 -04:00
Mike Blumenkrantz 38a8de6a1d unify comp render returns for argb and non-argb clients 2015-10-02 13:57:29 -04:00
Mike Blumenkrantz 588a9766e4 fix comp render return value for failed draws of non-argb clients 2015-10-02 13:57:29 -04:00
Mike Blumenkrantz 269b5fcc0e fix return value of comp render for wayland clients 2015-10-02 13:57:29 -04:00
Mike Blumenkrantz 81b61634c4 add RENDER_DEBUG for forced renders when setting dirty flag 2015-10-02 13:57:29 -04:00
Mike Blumenkrantz f94764feec reject client resize attempts for clients with dirty pixmaps
these clients will resize/render correctly only after the next
render loop, so defer until then to avoid #RenderFail

fix T2754
2015-09-29 12:29:41 -04:00
Mike Blumenkrantz b9c4911374 s/EAPI/E_API/ ...again 2015-09-28 15:51:51 -04:00
Mike Blumenkrantz 6732398856 use client window coords for resize-moving without a frame_object
improves placement of csd windows

ref T2750
2015-09-28 15:39:15 -04:00
Mike Blumenkrantz 5f2f1cb67b do not set client window coordinates during a move until after resizing check
fixes case where values would be erroneously updated when they should instead
have been rejected

ref T2750
2015-09-28 15:36:58 -04:00
Mike Blumenkrantz 7e5eb0a96d allow client resizes on axes currently unrestricted by maximize state
if this isn't explicitly blocked by config options then allowing resizes
on the unmaximized axes is necessary in order to avoid accidentally
queuing a full unmaximize
2015-09-28 14:39:42 -04:00
Mike Blumenkrantz d641c9d963 force adjustment of client geometry when changing csd frame size
fix T2750
2015-09-28 14:02:02 -04:00
Mike Blumenkrantz ed9cd0ea61 reject identical calls to e_comp_object_frame_geometry_set() 2015-09-28 14:01:02 -04:00
Mike Blumenkrantz 80a9240e7a initialize pixmap size vars in comp resize interceptor
these are never uninitialized when they are used, but this
is not obvious to the reader

CID 1324956, 1324956
2015-09-25 21:57:25 -04:00
Mike Blumenkrantz 1c36bb8333 fix handling of x11 ICCCM WithdrawnState
according to ICCCM 4.1.4:
Only the client can effect a transition into or out of the Withdrawn state

withdrawn windows cannot be shown under any circumstances. the best that can
be done is to try mapping the window and hope it decides to appear.

to prevent any inadvertent showing of the window before it leaves the
withdrawn state, we play games with the E_Client->ignored flag in order
to skip client evals until we get notified that maybe we want to stop
skipping those evals

ref T2745
2015-09-25 21:56:14 -04:00
Mike Blumenkrantz 6252ac29da add csd case for compositor frame adjust messages
not 100% perfect, but close enough
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 7967f9983d move compositor frame adjust messages to pixels_get callback
native surfaces don't call e_comp_object_render()
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 5efb157c0c set comp object client_inset.calc based on frame_object existence 2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 39a39a41c8 add util function for determining if a client is allowed to have a frame
returns false if mwm borderless is set or if csd exists
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz b8322b2b0e fully support _GTK_FRAME_EXTENTS
gtk apps set an atom which provides information about the area
where non-window content (eg. shadows) may be drawn; this area
must not be used in placement calculations.

the easiest method for implementing this functionality was to add
a case to the compositor geometry interceptors which effectively
flip the client struct geometry values such that the E_Client->client
is outside of the more commonly used E_Client->x/y/w/h

fix T2744
2015-09-24 16:33:56 -04:00
Mike Blumenkrantz 4173bd9977 calculate comp object visibility regardless of pending damages
in the case of clients on non-visible vdesks, this improves the reliability
of mirrored rendering
2015-09-22 13:14:51 -04:00
Mike Blumenkrantz 8399ab4ff9 do not emit client iconify signal when reapplying compositor theme
this has no effect other than breaking the animation counter for the
client and preventing it from being deleted
2015-09-22 13:07:15 -04:00
Mike Blumenkrantz 7d2a55f7e9 add function to blank out a client's rendered image
when working with Extremely Serious effects, it may be the case that
a user is rendering at such an advanced level that any attempt by
enlightenment to perform rendering will be like a child trying to
reproduce a masterpiece of art while using fingerpaints

https://www.youtube.com/watch?v=tY6qag5KFx0&hd=1
2015-09-17 19:08:27 -04:00
Mike Blumenkrantz e669eb9998 set comp object mirror alpha flag more accurately on creation 2015-09-17 16:54:00 -04:00
Mike Blumenkrantz 554eb76140 add smart callback for comp object damage calls
related to the previous commit, this will allow api users to determine
when a client needs to re-render with the least amount of overhead
2015-09-17 16:54:00 -04:00
Mike Blumenkrantz e01009e1b5 add function for overriding the native surface of a client's comp object
it's a pretty trivial thing to hand-composite a client, so this will
allow someone to do something like render out a gaussian blur to an fbo
using a client's texture and then render the fbo onto the compositor
canvas with minimal overhead
2015-09-17 16:54:00 -04:00
Mike Blumenkrantz f7d3952ec0 add smart callback for comp object hiding animation begin
it's impossible to determine this at the time of calling without adding
some sort of callback here; edje signals are deferred, meaning that
an interested user will not be able to check the state of a client
when it begins to hide
2015-09-17 16:54:00 -04:00
Mike Blumenkrantz e09b0d3e03 create util function for enforcing comp object image alpha setting
this can be set in a couple places, so move all the logic into a single
caller to ensure correct setting
2015-09-17 16:54:00 -04:00
Mike Blumenkrantz cb2ddb736d ensure that normal clients are stacked below overrides when raising
when a client is set to "Always on Top", it will be on the same layer
as override clients. this can cause strange stacking and mouse eventing
in cases where these windows occupy the same space and the normal client
is stacked over the override
2015-09-08 17:47:48 -04:00
Mike Blumenkrantz 69a29357cb block forced mirror render for clients with native surfaces 2015-09-07 13:15:25 -04:00
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
Mike Blumenkrantz 2461c6b50d remove unnecessary E_Comp references in comp object callbacks 2015-03-13 15:49:04 -04:00
Mike Blumenkrantz 091142b032 remove E_Client->comp 2015-03-13 15:41:21 -04:00
Mike Blumenkrantz 96b13f2620 remove E_Comp_Object->comp member 2015-03-13 15:28:42 -04:00
Carsten Haitzler 03f05d16e5 e clients - make sure we handle client with a NULL zone 2015-03-11 18:34:38 +09:00
Mike Blumenkrantz 567802f251 fix crash when using e_comp_object_util_center_pos_get() with non comp_objects 2015-03-06 17:59:43 -05:00
Mike Blumenkrantz 08b9194c12 don't require client mirror object existence to hide dead comp object mirrors 2015-03-05 14:57:49 -05:00
Mike Blumenkrantz 02134369c0 only hide comp object images for dead clients on smart hide 2015-03-05 12:44:27 -05:00
Mike Blumenkrantz b9f797a277 flag non-internal wl shm clients as dead and delete mirrors on hide
no more crashing?
2015-03-05 12:18:27 -05:00
Mike Blumenkrantz 6696c99a26 trivial move comp object function 2015-03-05 12:18:06 -05:00
Mike Blumenkrantz caddd0f1d5 hide comp object image on smart hide
ensure that this is not being rendered anywhere at the time of hide
2015-03-05 11:56:26 -05:00
Mike Blumenkrantz ac7a94261a never resize client clip object 2015-03-04 17:07:39 -05:00
Mike Blumenkrantz 9dee41f1a3 do not reapply focus on canvas object ungrab/close for pointer-focus enthusiasts 2015-02-20 09:55:20 -05:00
Mike Blumenkrantz baa9cfeac1 don't send unfocused signal to override clients
fix T2099
2015-02-18 16:35:10 -05:00
Mike Blumenkrantz 6e504751b1 revert some comp object debugging bits that snuck into another commit 2015-02-17 17:21:37 -05:00
Vincent Torri f31ed5bcb1 add MIN define for non-linux systems 2015-02-15 17:54:10 -05:00
Mike Blumenkrantz fff95929c6 apply client focus glow based on opaque region 2015-02-10 18:08:39 -05:00
Mike Blumenkrantz d97c6b04bb redo pixmap image border to take xywh instead of lrtb
client size is not set by the time opacity is set so it's necessary to store the full rect
2015-02-10 18:07:41 -05:00
Mike Blumenkrantz 362a505567 set client image borders even when 0
opaque region can be reset to nonexistent
2015-02-10 16:40:12 -05:00
Mike Blumenkrantz b0ef692817 handle image borders during client rendering 2015-02-09 21:14:18 -05:00
Mike Blumenkrantz 256378577c Revert "ref/free client pixmaps during hide animations"
This reverts commit bbb04ecb32.

also fixed by deferred resource releasing
2015-02-02 17:40:11 -05:00
Mike Blumenkrantz bbb04ecb32 ref/free client pixmaps during hide animations
replaces wl client crashing with a garbage frame
2015-02-02 13:38:48 -05:00
Mike Blumenkrantz 44229f20bd clean up comp object to not use deprecated comp functions 2015-02-02 12:12:12 -05:00
Carsten Haitzler 33d4531f1d e - rewrite randr code entirely. core and dialog. dialog is basic atm
the dialog for now is simple and lets you just raw edit the properties
per screen in a dialog. nothing fancy. not user firendly. but it works.

the randr core has been totally rewritten and tested against a range
of drivers and setups before even getting a commit. it works solidly
and configures screens reliably now. drivers tested:

nvidia
intel
radeon

some drivers still are unreliable in terms of delivering plug/unplug
events for outputs (both intel and radeon are flakey - nvidia is solid
and reliable). so to fix this there is now a screen redo action you
can bind to a hotkey or something and have e re-evaluate current
screen setup and apply ny pending config if needed.

also to make reconfiguring prettier the screen is faded to black
first, then configured, then faded back in. some drivers work
flawlessly with this, others still flicker some garbage.

i admit - i haven't tested nouveau, but my general take on this is the
randr code is now in far better shape than where it was (minus pretty
and easy dialog). the dialog can be done next, but i'd like to get the
core in now for more testing.

@fix
2015-01-25 22:50:23 +09:00
Mike Blumenkrantz b0a9d64000 allow client pixmap size to be used in place of actual client geom for tiler creation 2015-01-23 17:20:52 -05:00
Mike Blumenkrantz a5c00bfb2b defer client frame resizes if client is not protocol-visible 2015-01-23 17:20:14 -05:00
Mike Blumenkrantz 189763cde3 force internal window recentering after resize when no move/resize is active 2015-01-14 14:47:54 -05:00
Mike Blumenkrantz 66f28829a1 don't change shade.x/y during unshade or after shade
fix T1930
2015-01-08 18:23:05 -05:00
Mike Blumenkrantz 41f4f28114 comp pending resizes should not require both w+h to change 2014-12-30 17:00:23 -05:00
Mike Blumenkrantz ac7bf5fe32 greatly reduce FAILURE_MAX
ref T1820
2014-12-08 17:03:23 -05:00
Mike Blumenkrantz 28d6eecceb reduce shape recalc for clients which cannot currently receive input 2014-12-07 20:17:33 -05:00
Mike Blumenkrantz 610c439abd redo shaped client checks to use shape flags instead of rect pointer, fix shapeless clients
according to the shape extension protocol, the number of rectangles returned should be checked to determine a client's shape. if 0 is returned, the client has no shape, meaning that it either should not be drawn or should have no input region. this improves behavior with various client window types such as tooltips

ref T1820
2014-12-07 20:17:33 -05:00
Mike Blumenkrantz 634b58773a add failure count for client rendering, drop clients after FAILURE_MAX tries
this traps clients which are showing and hiding themselves extremely quickly and prevents them from crashing us when we try to draw them

fix T1820
2014-12-07 20:17:33 -05:00
Mike Blumenkrantz 3e50ac6e27 ensure clients are visible before triggering shape/render queue 2014-12-07 20:17:33 -05:00
Mike Blumenkrantz ce49f2a1f0 only change internal win visibility on comp obj show if win not already visible 2014-11-22 12:46:50 -05:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Mike Blumenkrantz 57b5fd4d44 force comp render queue more aggressively to detect changes in nocomp 2014-09-23 10:31:04 -04:00
Mike Blumenkrantz 3aaa843a4f comp render queue on every client resize instead of on unmaximize 2014-09-23 10:31:04 -04:00
Mike Blumenkrantz ec1cd25cfe rename E19* defines/texts to just E so they don't need to keep being updated 2014-09-09 12:30:50 -04:00
Mike Blumenkrantz 93e0dd20c0 add docs for all the comp_object data keys 2014-09-07 12:49:19 -04:00
Mike Blumenkrantz 5733e7b3f7 non-client comp object creation checks "noshadow" edje flag on passed objects
returns theme functionality from e17
2014-09-03 09:46:27 -04:00
Mike Blumenkrantz 8a10f288ad use a non-conflicting data item for comp mirror creation 2014-09-01 14:22:44 -04:00
Mike Blumenkrantz 74c3e0a979 shorten rendering path when creating comp mirrors from comp mirrors 2014-09-01 13:55:02 -04:00
Mike Blumenkrantz 77c63e0387 redo comp object util refs to be more consistent and not break evas 2014-09-01 10:30:53 -04:00
Mike Blumenkrantz cef6ebd2db fix post-effect stacking BITCH and post-effect transient stacking 2014-08-26 09:45:04 -04:00
Mike Blumenkrantz d654f880a1 fix e_comp_object_client_get() when used with signal callback 2014-06-16 13:35:57 -04:00
Mike Blumenkrantz 04a8f58ff9 remove useless null checks
CIDs 1155278, 1155289
2014-06-10 20:40:47 -04:00
Mike Blumenkrantz 5ad876ccad block mouse actions on frame for iconic clients
fix T1069
2014-06-08 12:13:02 -04:00
Cedric BAIL 3f9af38da2 edje: remove use of deprecated functions. 2014-06-07 21:10:55 +02:00
Mike Blumenkrantz dbce413b42 fix shape cutting for frames which are larger than their object size implies
requires border themes to have data.item "frame_extends" set
2014-06-04 08:55:06 -04:00
Mike Blumenkrantz d8aa488096 completely revert all eo/eolian usage
this was a neat experiment, but apparently it's not going to be usable for a long time in anything outside efl/elm

This reverts commits f87b9900fa, a49cede790, 81038f8d02, 47cfb31752.
2014-06-04 07:27:50 -04:00
Tom Hacohen f87b9900fa Update code to use the new class names generated by eolian. 2014-06-03 11:55:02 +01:00
Mike Blumenkrantz 1a492e3786 ignore fake client resizes during shade
fix T1314
2014-06-02 16:25:47 -04:00
Mike Blumenkrantz 73f35d8444 check current client size before rejecting resize
moderately certain this will fix T993 and also probably fix T1053
2014-06-02 08:42:32 -04:00
Mike Blumenkrantz c55e16dcb4 fix wl crash with layer_block
D920
2014-06-02 07:20:50 -04:00
Gwanglim Lee a49cede790 add class type check where client layer marker is taken
Summary:
it fixes crash when running wl client apps on e wayland server.
invalid comp object pointer value is returned by using eo_data_scope_get.
thus eo_isa should be added before eo_data_scope_get.

Test Plan:
1. run e wl server
2. run wl client terminlogy
3. run second wl client elementary_test

Reviewers: raster, devilhorns, zmike, stefan_schmidt

CC: cedric

Differential Revision: https://phab.enlightenment.org/D919
2014-06-02 07:16:42 -04:00
Mike Blumenkrantz 1a4b0bf29c Revert "fix relative stack object check"
This reverts commit b3efbfb91d.

bad past-self! past-past-self was much smarter than you!
2014-05-29 12:20:38 -04:00
Mike Blumenkrantz b4e4214e5c ensure client is actually stacked below the above-client when raising 2014-05-29 12:19:43 -04:00
Seunghun Lee e84eb965f4 remove unused variable use and function call
Reviewers: raster, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D867
2014-05-19 15:56:01 +09:00
Seunghun Lee 3c416438b0 fix enlightenment crash by accessing null pointer.
Summary: e_client_below_get can return null, so added null check code.

Reviewers: raster, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D857
2014-05-14 09:09:30 -04:00
Mike Blumenkrantz b3efbfb91d fix relative stack object check 2014-05-10 17:18:08 -04:00