Commit Graph

10172 Commits

Author SHA1 Message Date
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