Derek Foreman
c22c140c2f
Fix zone setup for wayland compositor on X
...
Both the X and WL code try to set up the output pointer for the
zone. Make the WL output take precedence, since it's actually
used for events.
2016-06-24 14:19:36 -05:00
Mike Blumenkrantz
cefcc5248f
add some hacks to route mouse events to wl popups correctly while mouse is down
...
in a choice between fixing a corner case popup behavior and breaking dnd
or having functional dnd and adding hacks to fix corner case popup behavior,
adding more hacks was the obvious correct solution
ref 03a4ecbdb0
2016-06-24 11:31:02 -04:00
Mike Blumenkrantz
4852a6903b
remove unused event info from _e_comp_wl_mouse_out()
2016-06-24 11:31:02 -04:00
Derek Foreman
eb94710146
Don't try to send surface presence events for zones with no wayland output
...
Avoid that NULL pointer deref.
2016-06-24 10:05:18 -05:00
Mike Blumenkrantz
191e5180b5
Revert "set NOGRAB pointer mode on comp object event objects"
...
This reverts commit 03a4ecbdb0
.
this should be correct, and yet it crashes xwayland and breaks dnd
2016-06-23 18:06:22 -04:00
Mike Blumenkrantz
03a4ecbdb0
set NOGRAB pointer mode on comp object event objects
...
fixes dragging off surfaces in wayland
2016-06-23 17:16:03 -04:00
Mike Blumenkrantz
22aa63c4a3
Revert "do not change E_Client->saved values during maximize if need_maximize is set"
...
This reverts commit 9a9c09f514
.
a better solution should be found at some point since this is broken in x11 too
2016-06-22 13:31:50 -04:00
Mike Blumenkrantz
99e4f8452b
don't set need_maximize during wl commit maximize
...
this breaks the maximize!
partially reverts b5576dbb8c
2016-06-22 12:30:01 -04:00
Mike Blumenkrantz
da7e7d19fb
freeze events on comp object input rects during deletion
...
prevents some event propagation which would cause flickering
2016-06-22 12:28:48 -04:00
Derek Foreman
326d638ba2
Always clear the mirror image data pointer
...
Under wayland evas will sometimes use the old one, I have no idea why.
Fixes a crash bug when mousing out of menus in a GTK app under wayland.
fix T3576
2016-06-21 17:53:16 -05:00
Marcel Hollerbach
a45bbe3d35
e_xkb: init the keyboard on init
...
we need to flush in the first group here. For wayland currently each
keyboard configuration needs to be flushed each time.
2016-06-21 21:43:57 +02:00
Derek Foreman
19817b47de
Send wayland surface enter and leave events
...
These events are supposed to be sent to clients that have bound wl_output
and manipulate surfaces.
2016-06-21 12:33:49 -05:00
Derek Foreman
11cb74a288
Track X outputs for zones
...
We needed this for wayland, so we add the same tracking for X to be
consistent - though we have no users yet.
2016-06-21 12:33:49 -05:00
Derek Foreman
3ff5e8dff4
Track wayland outputs for zones
2016-06-21 12:33:49 -05:00
Derek Foreman
fc37423c2e
Add new API for finding a zone by its id string
2016-06-21 12:33:49 -05:00
Mike Blumenkrantz
36c486906d
apply client size for session recovery remember
...
fixes maximize restoring
2016-06-20 16:04:11 -04:00
Mike Blumenkrantz
b5576dbb8c
use separate flag for pending wl client unmaximize
...
also set flag to prevent saved geometry from being overwritten
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
9a9c09f514
do not change E_Client->saved values during maximize if need_maximize is set
...
this is indicative of a deferred maximize, so don't re-set it and screw up
previously-set values
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
b5ef8766f4
store maximize property from E_Remember to disk
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
c5266515ba
set need_maximize flag on remembered client when applying maximize
...
causes maximize to be applied
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
12bcf7ecea
match deskmirror client opacity with original object
...
fix T3911
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
10eb06b377
update secondary remembers when a session recovery remember is updated
...
the session recovery remember may block updates for the user-created
remember, creating continuity issues when a new instance is launched
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
e8e6ada2e1
prevent E_Remember->used_count from going negative
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
890008cdf2
prevent editing of session recovery remembers
...
find/create new ones in this case
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
aa1768a9d9
enforce mouse grabs and block client/compositor event propagation while active
...
fixes cases where mouse events could filter to objects and cause unwanted effects,
such as evry hiding randomly under wayland
2016-06-18 10:56:14 -04:00
Mike Blumenkrantz
6b081d1d44
do not mouse-out of clients on focus out when focusing a popup
...
popups are transient in nature and do not interfere with mouse-based focus
policies
ref 3e6d6b348f
2016-06-16 14:48:51 -04:00
Mike Blumenkrantz
771f71e6a9
add separate mouse in/out handlers for internal wins
...
internal wayland windows are windows with ssd, meaning they can only receive
pointer events on the contents of the window and not the entire window including
decoration regions
ref T3819
2016-06-13 12:00:09 -04:00
Mike Blumenkrantz
a6bed1841a
use focused client for window actions if passed object is not a client object
...
in the case where an action is triggered from the compositor or manager contexts
the passed object will not be a client, causing actions to fail when they should
succeed
fix T3854
2016-06-09 11:26:17 -04:00
Mike Blumenkrantz
0e416648df
optimize e_client_res_change_geometry_restore()
...
performing the entire unfullscreen/unmaximize routine causes a significant
amount of overhead, and it also breaks window geometries in wayland due to
synchronization
2016-06-07 11:24:27 -04:00
Derek Foreman
573df39c17
Allow pixmap argb state to override window state for wayland clients
...
Wayland argb state depends entirely on the attached buffer, so we
should use that for determining object argb state on wayland.
ref 6d397e313b
ref 60da58d8ad
2016-06-06 14:06:00 -05:00
Mike Blumenkrantz
07ed7a1433
force mouse-in again during comp ungrab if client previously had mouse-in
...
unfocus performs a mouse-out, so this is necessary in order to allow events
to reach the client again after a grab ends
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz
492f9bcf4e
unset comp_grabbed flag before action client compositor ungrab
...
this flag was blocking accurate event propagation in some cases
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz
48ee824c63
only block mouse-out callback for wl action clients if the mouse is grabbed
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz
3c9013eeb0
protect against crash when deleting wl session recovery remember
2016-06-01 13:11:19 -04:00
Mike Blumenkrantz
859b1b989f
handle shaded state when receiving x11 configure requests
...
previously this would resize the window without unshading it, leading to
a confusing state for the window and the user
2016-05-31 12:31:50 -04:00
Mike Blumenkrantz
68c93a1adf
use current zone when activating a client's menu with the mouse
...
the mouse defines position of a mouse-activated menu
fix T3701
2016-05-31 12:23:50 -04:00
Mike Blumenkrantz
1fef7d04dc
delete x11 mouse-in job when hiding the job's client
...
spurious x11 mouse events will be received when activating a mouse binding which
flips the active desk
fix T3716
2016-05-31 12:21:09 -04:00
Mike Blumenkrantz
3e7f8284cd
set x11 maximized window hint correctly on resize end
...
fix T3702
2016-05-27 12:15:26 -04:00
Chris Michael
0d2b6b047c
port enlightenment to use drm2
...
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 09:53:41 -04:00
Chris Michael
c21bced4f8
change 'if' clause to make gcc-6 happy
...
Gcc 6 was spitting a nasty little compiler warning here:
src/bin/e_fm.c: In function ‘e_fm2_icon_geometry_get’:
src/bin/e_fm.c:2354:4: warning: this ‘if’ clause does not guard...
[-Wmisleading-indentation]
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
^~
src/bin/e_fm.c:2354:19: note: ...this statement, but the
latter is misleadingly indented as if it is guarded by the ‘if’
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-24 15:48:18 -04:00
Mike Blumenkrantz
c58a3919e9
update client remember on opacity change
...
fix T3681
2016-05-24 11:52:31 -04:00
Davide Andreoli
107872af91
enlightenment_open: correctly return the exist status code of the executed command
...
@fix and close T3555
2016-05-20 19:25:42 +02:00
Derek Foreman
e5e875ded8
Fix dmabuf breakage of non wayland builds.
...
#IWearTheHatOfShame
2016-05-19 10:23:22 -05:00
Chris Michael
bd1847162e
remove unused variables in _dmabuf_add function
...
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-19 08:57:43 -04:00
Mike Blumenkrantz
c53a6efc8d
add client util function for detecting popups, block popups in ibar/tasks
...
mainly a wayland issue where popup menus would cause the tasks gadget to
grow and shrink uncontrollably
2016-05-18 14:43:21 -04:00
Derek Foreman
402c56e1f2
clean up warnings in dmabuf code
2016-05-18 12:34:23 -05:00
Derek Foreman
2d1802375d
Add DMABuf support for wayland
...
This adds compositor handling of DMABuf buffers. DMAbuf capabilities
are advertised for the drm back-ends, and DMAbuf buffers are handled
as native surfaces.
2016-05-18 12:05:34 -05:00
Derek Foreman
6b0c55dd96
Track parent compositor dmabuf capabilities on wayland on wayland
...
When running as a wayland compositor connected to another wayland
compositor, we don't want to advertise dmabuf capabilities if the
parent compositor doesn't support them.
If it does, we'll want to proxy dmabuf requests to it instead of handling
them ourselves.
Expose this as new bools in e_comp_wl.
2016-05-18 12:05:34 -05:00
Derek Foreman
f6d99980ba
Remove GL presence test from native surface set on dirty objects
...
This test has been pushed into e_comp_object_native_surface_set() and
will be done as appropriate.
Upcoming wayland DMAbuf buffers need native surfaces even if GL isn't
present.
2016-05-18 12:05:34 -05:00
Derek Foreman
50a3f84191
Move the test for resetting no native surface to after caps checks
...
This is supposed to be functionally equivalent, but is a little tricky to
prove.
The benefit of this is a simplification to the callers, which no longer
have to consider gl capabilities in the call, as that is now tested for
internally.
2016-05-18 12:05:33 -05:00