Mike Blumenkrantz
a658c785c3
ignore xwayland clients in wl client delete request callback
...
this breaks the compositor!
2016-03-21 12:13:27 -04:00
Marcel Hollerbach
f01b8d76e7
add skip event counter for xkb events
...
if we are setting the group or the set of groups in e we will receive a
XkbNotifyState Event from x, which will result in a
ECORE_X_EVENT_XKB_STATE_NOTIFY event. We are setting there again our
settings, since we need to reset the settings from a potential external
application. So we should only reset our settings when the event is not
expected by e.
2016-03-21 11:33:15 -04:00
Marcel Hollerbach
24487c5233
re-apply xkb layout groups whenever an xkb event occurs
...
If someone plugs in a external monitor, the notify event is set AND the
group is changed externally. This means enlightenment cannot configure a
new keyboard anymore. So we are flushing in our new config all the time,
setting the old group-index again.
2016-03-21 11:31:58 -04:00
Mike Blumenkrantz
7ce5f68b51
store (internal) elm win geometry when set prior to showing the win
...
this fixes the case where attempts to manipulate a window would fail
prior to showing the window
2016-03-18 13:53:28 -04:00
Mike Blumenkrantz
510d05d8d3
remove wl selection hacks from f0ba92d39e
...
https://gfycat.com/ChiefDeafeningGull
2016-03-17 15:18:48 -04:00
Mike Blumenkrantz
952d2c1d25
hide wl clients before deleting them when surface is destroyed
...
clients without hide animations will fail to run cleanup operations during
hide if they are not marked as deleted
2016-03-17 14:09:08 -04:00
Mike Blumenkrantz
0d6f019bc6
ignore deleted clients when reapplying zone geometry policy in canvas update
...
this breaks the compositor!
2016-03-17 14:08:23 -04:00
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