Carsten Haitzler
afb62b4989
e passive window grabs - fix side-effect leave/enter events on clients
...
when you have click to focus we have a passive grab set up. somewhere
that window changed to the parent window instead of the client. this
leads to a side effect of a leave and enter event on clients for every
click. generally clients are ok with this, but some seem to have buggy
event handling. these enter/leave events are a side effect of the
passive grab even though we allow/replay the event.
this fixes that by placing passive grabs on the client window itself
instead of the parent.
@fix
2015-06-28 17:24:29 +09:00
Mike Blumenkrantz
c30e0240e4
don't select mouse wheel events on x11 reparenting window
...
this fixes mouse eventing/focus on windows, though I'm not entirely sure why...
probably something with binding grabs
2015-06-26 12:37:02 -04:00
Mike Blumenkrantz
2bf57d79af
set shm engine for wl internal windows
...
this seems to be necessary for now to prevent crashing
2015-06-25 20:25:41 -04:00
Mike Blumenkrantz
b862ec63d0
add wrappers for window/pixmap/comp_data fetching in x11 compositor
...
these helper functions automatically account for "swapped" xwayland
clients and return the expected value from the wl client comp_data.
in this way, all of the current x11 compositor code can be reused with
minimal changes
2015-06-25 20:25:41 -04:00
Mike Blumenkrantz
cd646e8ecd
reject non-x11 clients from _e_comp_x_client_zone_geometry_set()
2015-06-25 20:25:40 -04:00
Mike Blumenkrantz
2b38147c43
add hooking for WL_SURFACE_ID atom on XWayland windows and composite them
...
in order to maximize the amount of reused code the following details the current
process for xwayland compositing:
* get map request from window
* force reparenting
* show window
* await WL_SURFACE_ID x11 message
* move x11 client data + pixmap onto corresponding wayland client
* business as usual with wayland compositing
this is pretty similar to the method of the reference code in weston,
except that there's no x11 compositor in weston
2015-06-25 20:25:36 -04:00
Mike Blumenkrantz
c8bdacc727
fix grabinput to work better with multiple compositor backends
...
check root window to determine existence of X11 compositor,
use both wayland and non-wayland define codepaths where available
2015-06-25 20:12:03 -04:00
Mike Blumenkrantz
3585643302
reject non-X clients from _e_comp_x_object_add()
2015-06-25 20:12:03 -04:00
Mike Blumenkrantz
f832640f18
block xkb activation for non-X11 compositors
2015-06-25 20:11:54 -04:00
Mike Blumenkrantz
d7c60da84f
correct e_comp->new_client count for overrides in x compositor
2015-06-25 20:05:26 -04:00
Mike Blumenkrantz
2654b7e3e7
move X idle flusher to comp_x
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
fab0b8122f
don't call wl comp delete function twice on shutdown
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
5b63ce91dc
comment out grabinput focus calls in wayland compositor
...
these did nothing, remove for now
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
412595dc60
set client visibility for shell-less wayland clients appropriately during commit
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
179118a70c
reject ignored clients from being processed in client idler
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
ca013d9439
reject stacking clients from frame updates in client idler
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
01a4273c38
use ctrl+alt+backspace hotkey in wayland compositor for all non-release builds
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
05a0602f6e
unused variable--
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
d7c58215f4
set wl client surface pointer in surface create method
...
remnant from when clients were created by the shell
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
96ad70435c
remove unnecessary header includes from e_comp_x.h
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
877597e7a1
don't undef NEED_X in wl compositor headers
...
no idea why this was here
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
eec5cf6a67
remove E_Comp_Data typedef, use backend-specific typedefs unconditionally
...
this turned into a bit of a charlie-foxtrot due to constant pointer aliasing
in the wl compositor codebase
no functional changes
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
9e104dfca1
simplify e build and add X headers for xwayland module
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
56a2dd11c2
add setup for WL_SURFACE_ID X atom
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
113147fa30
use c array size for e atom init
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
2ae8d726f3
HAVE_WAYLAND_CLIENTS || HAVE_WAYLAND_ONLY -> HAVE_WAYLAND
...
these are semantically identical
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
972b003163
finish xwayland module implementation
...
note that this basically does nothing other than start an xserver and connection
bisect harder if looking for bugs
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
dbce320216
load wl_desktop_shell and xwayland after wl comp load
2015-06-25 20:04:30 -04:00
Chris Michael
d79c5657f9
Whitelist the new xwayland module
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Conflicts:
src/bin/e_module.c
2015-06-25 20:04:30 -04:00
Tom Hacohen
ba82d22692
Logging: Fix broken logging macros.
...
This is macro 101, you don't EVER put multiple statements in a macro
like that.
See Chris's commits, these broken macros already introduced (subtle)
bugs. Always surround macros in "do {} while()" unless you absolutely
can't (like when you declare a new variable to be used in the scope).
Why is it even there? I think we can safely assume eina log is available
for usage in E...
@fix
2015-06-22 15:39:58 +01:00
Chris Michael
b1b407ef22
Fix Coverity CID1298053
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-22 10:20:30 -04:00
Chris Michael
3e23c54b8a
Fix Coverity CID1298052
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-22 10:19:13 -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
0f926d2ae9
only apply deskmirror client visibility logic for non-deleted clients
2015-06-19 14:13:02 -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
Chris Michael
571633a32b
e-comp-wl: #if 0 out a currently unused function for pre_frame assignment.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-17 11:28:55 -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
ad7b4ecc43
allow layer-blocked clients in deskmirror to restack
2015-06-16 15:51:30 -04:00
Toan Pham
d3a1a72b98
added quick tile to corner feature
...
Summary: added quick tile to corner feature, Fixes T2408
Reviewers: zmike
Subscribers: abyomi0, cedric
Maniphest Tasks: T2408, T2419
Differential Revision: https://phab.enlightenment.org/D2638
2015-06-16 15:08:21 -04:00
Toan Pham
1469e9b973
Center a dialog window when it is displaying off-screen
...
Summary: Center a newly created dialog window when it is displaying off-screen. Fixes T2419
Reviewers: zmike
Subscribers: cedric
Maniphest Tasks: T2419
Differential Revision: https://phab.enlightenment.org/D2646
2015-06-16 14:28:54 -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
6ce353fced
use new visibility effects by default for menu + combo windows
...
tooltip effects by default...probably too powerful for average users?
2015-06-15 13:53:34 -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