Marcel Hollerbach
bc54ad58f7
e_comp_data: NULL out source once it is freed
...
Otherwise the pointer is removed when the next drag starts, so this
makes debugging dnd problems easier.
2016-07-15 09:59:55 -04:00
Mike Blumenkrantz
9e95e7a93b
handle e_comp_x init failure more effectively and perform cleanups
...
fixes autodetection for x11 wayland output without setting E_WL_FORCE
2016-07-15 09:59:55 -04:00
Derek Foreman
cba292d9a9
Don't send keyboard leaves to unmapped wayland surfaces
...
There are actually toolkits that create surfaces, do nothing with them,
and destroy them. Sending keyboard leave events for this causes problems.
Fixes a bug in handling of some GTK popups.
2016-07-15 09:59:55 -04:00
Derek Foreman
cdadc386d1
Add a pixel get callback for mirrors
...
Mirrors can be rendered independently of what they're mirroring,
which (at least under wayland) can result in a situation where the
mirror is rendered before the parent sets up their image pointers
properly.
We give mirrors their own callback to prevent that from causing a
crash.
2016-07-15 09:59:55 -04:00
Derek Foreman
07c619b47c
Fix wayland pixmap ids again
...
Wayland pixmap ids are a different data type for internal and
external windows. cast them both to 64-bits so they're the same
size regardless of arch.
ref d3ba524a62
2016-07-15 09:59:55 -04:00
Mike Blumenkrantz
e679a37fe9
freeze events on comp object input rects during deletion
...
prevents some event propagation which would cause flickering
2016-07-15 09:59:54 -04:00
Mike Blumenkrantz
23335127c5
store maximize property from E_Remember to disk
2016-07-15 09:59:54 -04:00
Mike Blumenkrantz
4b2659aabe
match deskmirror client opacity with original object
...
fix T3911
2016-07-15 09:59:54 -04:00
Mike Blumenkrantz
24af4b7429
prevent E_Remember->used_count from going negative
2016-07-15 09:59:54 -04:00
Mike Blumenkrantz
23a03a3344
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-07-15 09:59:54 -04:00
Mike Blumenkrantz
fbb30b1887
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-07-15 09:59:54 -04:00
Mike Blumenkrantz
7871d58ce3
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-07-15 09:59:54 -04:00
Mike Blumenkrantz
fc4f5d4f83
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-07-15 09:59:54 -04:00
Derek Foreman
5d818684aa
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-07-15 09:48:41 -04:00
Jean-Philippe Andre
e0bcdaa403
e20: Fix compilation with (deprecated) ecore drm
2016-07-06 16:28:30 +09:00
Mike Blumenkrantz
08867e5440
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-03 11:33:11 -04:00
Mike Blumenkrantz
90ecf5401b
unset comp_grabbed flag before action client compositor ungrab
...
this flag was blocking accurate event propagation in some cases
2016-06-03 11:33:07 -04:00
Mike Blumenkrantz
4c64703f74
only block mouse-out callback for wl action clients if the mouse is grabbed
2016-06-03 11:33:03 -04:00
Mike Blumenkrantz
ea1b0a2b02
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-06-03 11:32:54 -04:00
Mike Blumenkrantz
e8c495b2f2
use current zone when activating a client's menu with the mouse
...
the mouse defines position of a mouse-activated menu
fix T3701
2016-06-03 11:32:49 -04:00
Mike Blumenkrantz
a4011ee2d6
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-06-03 11:32:44 -04:00
Mike Blumenkrantz
5cdd0deb58
set x11 maximized window hint correctly on resize end
...
fix T3702
2016-06-03 11:32:33 -04:00
Chris Michael
1aee967667
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-06-03 11:32:26 -04:00
Mike Blumenkrantz
c31b607ba6
update client remember on opacity change
...
fix T3681
2016-06-03 11:32:13 -04:00
Davide Andreoli
2237793917
enlightenment_open: correctly return the exist status code of the executed command
...
@fix and close T3555
2016-06-03 11:31:56 -04:00
Mike Blumenkrantz
d7a934c09a
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-06-03 11:31:49 -04:00
Mike Blumenkrantz
608650a2b8
fix e_place_zone_region_smart_cleanup()
...
this function was adding the same client multiple times, failing to cleanup
windows effectively, and misusing the skiplist functionality of e_place functions
fix T3654
2016-06-03 11:31:33 -04:00
Carsten Haitzler
cad34648c6
e - suspend.hibernat intelligently - dont account for ac power
...
this means only lid/screen status affects intelligent suspending. it's
not what people expect and doesnt rely on ecore getting mains power
stuff right too.
2016-06-03 11:31:24 -04:00
Chris Michael
1d5a19a54c
stop filling logs with buffer transform/scale spam
...
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-06-03 11:31:16 -04:00
Mike Blumenkrantz
eedbfb4f5f
more tweaks for manual window placement in client eval
2016-05-13 11:39:07 -04:00
Mike Blumenkrantz
479ed14872
prevent double emission of E_EVENT_CLIENT_SHOW
2016-05-13 11:39:05 -04:00
Mike Blumenkrantz
9005332468
ensure that client eval correctly handles retries on visibility-pending clients
...
ref 2854352bc8
fix T3636
2016-05-13 11:25:06 -04:00
Mike Blumenkrantz
57f7f4f5e0
force cursor placement to obey useful zone geometry
2016-05-12 12:43:53 -04:00
Mike Blumenkrantz
00e427b126
adjust some client eval parts to make manual placement work again
...
activating the window_move action doesn't require the client to successfully
be shown, and failing this check would cause the window_move action to be
deleted until the next restart
2016-05-12 12:43:49 -04:00
Mike Blumenkrantz
90f0740d27
use parent windows for x11 binding grabs
...
ensure that internal windows do not receive mouse events before the compositor
fix T3347
2016-05-12 12:43:45 -04:00
Mike Blumenkrantz
e4f3e73d7d
only check pixmap argb state for non-X11 clients
...
non-argb windows can have argb pixmaps.
ref 6d397e313b
2016-05-12 12:43:40 -04:00
Mike Blumenkrantz
30f3a75366
avoid infinitely looping when applying x11 window grouping
...
#ThatTimeKainXFoundABug
2016-05-12 12:43:36 -04:00
Mike Blumenkrantz
93a2233f28
use window id for internal window pixmaps again on wayland
...
this was breaking internal windows when more than one was open, and
especially if any were open which had a parent-child relationship, by
using the same id for all internal window pixmaps
2016-05-12 12:43:32 -04:00
Mike Blumenkrantz
1629ea5c63
set E_Client->override flag for internal wins as needed
2016-05-12 12:43:28 -04:00
Mike Blumenkrantz
68f4a7b75e
remove some cruft from _e_comp_wl_client_cb_new()
2016-05-12 12:43:21 -04:00
Mike Blumenkrantz
d54f51af57
ensure int64_t is used in all cases for wl pixmap ids
2016-05-12 12:43:18 -04:00
Mike Blumenkrantz
877a1c46f4
enforce setting alpha on comp objects only after image data has been set
...
setting alpha can trigger a render sync, crashing if the old data is no
longer valid
2016-05-12 12:43:13 -04:00
Mike Blumenkrantz
3de65edc23
also check pixmap argb state when setting comp object alpha
...
more accurate for wayland
2016-05-12 12:43:04 -04:00
Mike Blumenkrantz
0d20333eb3
toggle compositor canvas focus during init
...
this sets the toplevel focus flag in elm, allowing widgets on the compositor
canvas to receive focus in wayland compositors
2016-05-12 12:42:54 -04:00
Mike Blumenkrantz
5ea743800c
change efm icon entry to only toggle focus in x11 compositors (runtime)
2016-05-12 12:42:49 -04:00
Mike Blumenkrantz
2ddd4d9bda
handle positioning of x11 overrides with csd accurately
...
when first applying the csd region to this type of window the coords must
be adjusted in order to account for the shadow
fix T2934, T2931
2016-05-12 12:42:43 -04:00
Mike Blumenkrantz
c5c115c530
only load wayland-specific modules on startup if they have been built
2016-05-12 12:42:39 -04:00
Mike Blumenkrantz
961d3177da
block keyboard sending for wl clients if a compositor grab is active
...
fix T3599
2016-05-12 12:42:35 -04:00
Mike Blumenkrantz
eee1ee8fb0
disable focus effects for windows with csd
...
fix T3408
2016-05-12 12:42:29 -04:00
Mike Blumenkrantz
5cd256da78
ensure child windows are placed on screen
...
when centering a child over its parent, checks were not made to ensure that
by centering the child it had not gone offscreen
2016-05-12 12:42:21 -04:00