Mike Blumenkrantz
b366d8bfb1
use agent objects for maximize effects
...
this fixes maximize effects on csd windows by providing an object which
will return usable geometry with evas_object_geometry_get()
2016-03-17 13:40:17 -04:00
Mike Blumenkrantz
80595756b7
add e_comp_object_agent_add()
...
an agent object can be used when a client should be represented on the
canvas solely by its window geometry and not including any csd
this creates and manages a mutable object which maintains the same geom
as ec->x/y/w/h and can be operated upon to modify those values
2016-03-17 13:40:17 -04:00
Mike Blumenkrantz
bd0f2595b3
do not update client coords on csd geom update if it would change the zone
...
in the case where a client is at 0,0 relative to a zone, changing the coords
in this case will result in the client moving out of the zone by the size of the
csd
2016-03-17 13:40:17 -04:00
Mike Blumenkrantz
959366076c
always update saved coords for maximized/fullscreen clients on csd geom update
...
this was causing clients to position themselves wrongly in some cases after
removing the related states
2016-03-17 13:40:17 -04:00
Mike Blumenkrantz
39ce6e2d49
unify maximize animation checks+code
2016-03-17 13:40:17 -04:00
Chris Michael
ccd867e6ff
destroy seat resource when we get a release request
...
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-16 08:40:41 -04:00
Mike Blumenkrantz
d08abd43fd
adjust wayland client coords by window_geometry during first surface commit
...
fixes first window positioning
2016-03-15 16:12:05 -04:00
Mike Blumenkrantz
04e3c383c4
unset solid drawing of opaque regions during comp object animations
...
this makes animations with transparency not look like giant black rectangles
2016-03-14 14:46:37 -04:00
Mike Blumenkrantz
5494ddd424
enforce bryce zone setting and clip setting
...
resolves issues where non-primary screens would have differing behaviors
2016-03-14 14:27:15 -04:00
Mike Blumenkrantz
1b9d152eeb
do not attempt to resize clients to 0x0 during res restore
...
ACK--
2016-03-14 14:27:15 -04:00
Mike Blumenkrantz
885d24eeab
unify client post_updates management code into single function
2016-03-14 14:27:15 -04:00
Chris Michael
fd816230c4
make e_alert WBOD work in X11 even when built with wayland support
...
If enlightenment is built with support for wayland, then previously
the WBOD would not work if we were running the same binary with X11.
This was because the alert system would try to connect via drm by
default (due to wayland build option). We fix that by checking for the
existance of $DISPLAY (as this will not be present under drm), and
running the X11 codepath if it is found, running the drm codepath if
it is not found.
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-14 13:22:30 -04:00
Mike Blumenkrantz
e5cf1fb215
add workaround for xwayland client bug
...
sighhhhhhhhhhhhhhhhh
2016-03-12 15:43:39 -05:00
Mike Blumenkrantz
8d7e55f4dc
remove direct references to ec->comp_data in x11 compositor
...
this fixes a number of xwayland client issues
2016-03-12 15:41:50 -05:00
Mike Blumenkrantz
abffe6b6d2
calling dirty() on a comp object for a deleted client should not print an error
2016-03-12 15:37:10 -05:00
Mike Blumenkrantz
1a91486083
always send wl key releases if surface still exists
...
fixes stuck keys for wl_clients with multiple surfaces
2016-03-12 12:40:39 -05:00
Mike Blumenkrantz
b2107ae2b0
remove maximize_pre flag from wl client comp_data
...
this breaks modification of maximized size for surfaces as well as animations
fix T3297
partially reverts 0321fd690e
2016-03-12 11:18:10 -05:00
Mike Blumenkrantz
3413399b15
always move objects during efx_resize if position is provided
...
some objects (like clients) may lie about their geometries and report
wrong values
2016-03-12 11:17:32 -05:00
Mike Blumenkrantz
48b6d54966
don't increment position coords twice during efx move operations
2016-03-12 11:17:06 -05:00
Mike Blumenkrantz
965632fedc
use object position for efx resize anchoring when no move effect is active
...
CIDs 1352902, 1352903
2016-03-12 10:42:19 -05:00
Mike Blumenkrantz
f26f6cf3dd
be less pedantic during efx move/resize operations about object geometry
...
assume that an object is where it's supposed to be in order to avoid failing
to correctly animate objects which modify set geometries, such as e clients
2016-03-11 18:17:06 -05:00
Mike Blumenkrantz
88518d8103
don't add render updates for deleted clients on failed resize
2016-03-11 18:16:21 -05:00
Mike Blumenkrantz
eb58e2ca70
remove eldbus init/shutdown calls from the codebase
...
this is handled by e_msgbus
2016-03-11 17:19:32 -05:00
Derek Foreman
e9751f4d57
Free pixel data after taking a wayland screen shot
2016-03-11 11:19:29 -05:00
Derek Foreman
a4fc286d7f
Fix internal window borders on 32-bit computers
...
Our wayland window ids are 64 bit integers, we need to be careful
about the data type on 32-bit machines where pointers are smaller
than this.
2016-03-10 16:47:09 -05:00
Mike Blumenkrantz
57f62675cc
make wayland client keyboard focus list pruning more robust
...
this should handle all possible cases where focused keyboard resources
need to be removed from the global list
2016-03-10 15:18:47 -05:00
Mike Blumenkrantz
b742baff5b
reject attempts to focus deleted comp objects
2016-03-10 15:18:19 -05:00
Mike Blumenkrantz
f91ed81cd1
run focus-out and mouse-out wayland client callbacks for deleted clients
...
this fixes a number of issues caused by clients not cleaning up on deletion
ref 3e9029ea08
#YouAlwaysRememberTheFirstTimeYouBorkedTheCompositor
2016-03-10 14:47:41 -05:00
Derek Foreman
ff70943f76
Fix wayland hide for internal windows
...
We need to make sure we drop reference on all exit paths through the
hide callback - somehow this only seemed to break internal windows.
ref 65166c5a36
2016-03-10 12:19:32 -05:00
Mike Blumenkrantz
15a918d3c7
during bryce moveresize callback, return if no zone could be located
...
probably some crazy animation going on, ignore this case
CID 1352828
2016-03-10 11:59:58 -05:00
Mike Blumenkrantz
66fbb48cc6
check returned pixmap size before attempting to create updates tiler
...
CID 1349419
2016-03-10 11:57:11 -05:00
Mike Blumenkrantz
e49657eed0
ensure pointer lifetimes when advancing efx effect queue
...
CIDs 1352853, 1352852, 1352851, 1352850, 1352849, 1352848, 1352847
2016-03-10 11:46:18 -05:00
Mike Blumenkrantz
77602a5853
ensure string termination when using strncpy
...
CID 1352823
2016-03-10 11:11:57 -05:00
Mike Blumenkrantz
c95f3347ae
flatten return of strcmp to bool value
...
CIDs 1352821, 1352822
2016-03-10 11:08:48 -05:00
Mike Blumenkrantz
2017eda0bc
don't add render update during ignored damage on deleted clients
...
ref 1507f815a5
2016-03-09 15:27:59 -05:00
Mike Blumenkrantz
d44de2e192
add window maximize animation
...
this has been implemented and working well in desksanity for a couple years,
and it's a trivial thing to bring over now that efx is available
2016-03-08 18:06:36 -05:00
Mike Blumenkrantz
aa024e0a4f
bump E_VERSION_MAJOR and modapi
2016-03-08 18:06:36 -05:00
Mike Blumenkrantz
103da25b94
unify client e_hints window size setting in move/resize callbacks
2016-03-08 18:06:36 -05:00
Mike Blumenkrantz
8ca293423a
always run client res changes in e_comp_canvas_update()
...
this function is only called when screen geometry (or useful geometry) has
changed, and so all clients should have their geometries checked at this point
to ensure that they update for any new zone obstacle changes which have occurred
2016-03-08 15:59:57 -05:00
Mike Blumenkrantz
b710f6f3b3
block re-unsetting of native surface for comp objects
...
due to recent evas internals changes, this breaks software compositing
2016-03-08 14:53:00 -05:00
Mike Blumenkrantz
69fe80959b
manually calc bryce center-screen coords
...
e_comp_object_util_center_pos_get() uses zone useful geometry
2016-03-08 13:00:43 -05:00
Derek Foreman
df7bc5963d
Remove argb_convert for wayland buffers
...
Wayland buffers are currently either ARGB or XRGB - we don't need to
convert either of these, we just need to set alpha appropriately - which
we now do.
2016-03-08 12:46:32 -05:00
Derek Foreman
b4bcb1dc23
Don't use e_pixmap_image_data_argb_convert for wayland images
...
All we really need for wayland is to set alpha properly, so we can
save the conversion/copy when doing XRGB.
2016-03-08 12:46:32 -05:00
Derek Foreman
2e0e74f087
Stop copying all wayland buffers
...
The new buffer management shouldn't require this anymore.
2016-03-08 12:46:32 -05:00
Derek Foreman
e4490c4bf6
Re-enable window close animations for wayland
...
These should work properly with the new buffer management code.
2016-03-08 12:46:32 -05:00
Derek Foreman
36586fbf9c
Remove wayland buffer reference
...
This code is similar to code in weston, but doesn't really work properly
for us in E, since this can blow up buffers behind the async renderer's
back.
The rest of the reference code has been pushed into e_pixmap, so we can
kill this all now.
2016-03-08 12:46:32 -05:00
Derek Foreman
dfc7c26ce4
Rework wayland buffer handling
...
We need to keep wayland buffers around even if they'll never be written
to again. This is part of Buffer_Reference's task in weston, but we
already have our pixmap abstraction which can serve mostly the same
purpose.
Remove the "buffer reference" stuff from e_pixmap and replace it with a
kept buffer for the last commit.
Add shared memory pool references to keep pools from going away on us.
2016-03-08 12:46:32 -05:00
Derek Foreman
b98e78d464
Track whether a render is in progress or not
...
We'll need this to protect certain wayland operations.
2016-03-08 12:46:32 -05:00
Derek Foreman
33582859e2
Don't allow deleted wayland clients to set the cursor
2016-03-08 12:46:32 -05:00
Derek Foreman
65166c5a36
Take an extra reference on wayland clients
...
We need to make sure wayland clients aren't deleted while the scene
graph has their data pointers, so we take an extra reference when creating
them.
We drop that reference by clearing the client's image data and putting it
in the render post_updates list.
2016-03-08 12:46:32 -05:00