Commit Graph

21024 Commits

Author SHA1 Message Date
Mike Blumenkrantz 45d8cb6b5e remove duplicate visibility setting blocks from wayland surface commit
this is already present (and identical) in state commit
2016-02-02 13:35:03 -05:00
Mike Blumenkrantz 47196af43a always apply damages and input regions during wayland commit
mapped status is not relevant according to spec
2016-02-02 13:34:57 -05:00
Mike Blumenkrantz 3b77b7aa43 do not set focus in wayland client show callback for cursor clients 2016-02-02 13:34:53 -05:00
Mike Blumenkrantz 317f0794d6 automatically mark wayland cursor surfaces as visible during set_cursor
a cursor client should be shown/hidden as needed despite its lack of a
shell interface, and having a special flag to identify these types of
surfaces makes it easier to do that
2016-02-02 13:34:48 -05:00
Mike Blumenkrantz f129b0d7d5 |= instead of = flag setting for want_focus during wayland surface commit
if want_focus has already been set, this check should not unset it
2016-02-02 13:34:32 -05:00
Mike Blumenkrantz 62171ab39a improve focus setting during wayland client show callback
take_focus will only be handled if the new_client flag is set. in all
other casees, focus_set should be called directly

new_client flag implies changed flag
2016-02-02 13:34:28 -05:00
Mike Blumenkrantz da2af2de23 more correctly handle evry mouse detection on wayland
in this case, mouse events which are not originating from the internal
window are for the screen, and these coords can be used for determining
"mouse out". if the mouse event comes from the window, it is inside the window.

ref 7c661b54a9
2016-02-02 13:34:21 -05:00
Mike Blumenkrantz 76d7824a7c only do passthrough surface map on xwayland surfaces during commit
these was a workaround for handling early internal windows which is
no longer necessary now that they will handle their map states more
effectively

now, any wayland surface (not xwayland) requires a shell to map the
surface as intended
2016-02-02 13:34:13 -05:00
Mike Blumenkrantz 7b4b823758 set want_focus for xdg popup surfaces on creation
these types of surfaces should grab focus as early as possible, and
setting the flag at this time ensures that it will be handled during
the next client eval
2016-02-02 13:34:09 -05:00
Mike Blumenkrantz f63ebeb939 call xdg surface map when creating a surface for visible internal windows
if windows are created during startup, they will attempt to show themselves
before xdg surface operations are available, leading to a scenario where they
will never successfully map themselves. if the elm win object is visible, this
indicates a mapped internal window, so directly call the map function at this
time to make the window visible
2016-02-02 13:34:05 -05:00
Mike Blumenkrantz f1ccac3775 remove need_reparent, reparented, first_damage flags from wl client comp_data
these flags, and related code, have no functional purpose in wayland
2016-02-02 13:33:58 -05:00
Chris Michael d37bcc887d Fix issue of using the wrong id when finding pixmap client
Previously, we were passing in the wl window id into the
pixmap_find_client function. This is improper as the e_pixmap_new
functions take the surface resource id. To solve this, we will get the
Ecore_Wl2_window from the Evas_Object, fetch the surface id from that,
then pass those into e_pixmap_find_client.

This resolves an issue where the everything module was not working
properly.

ref T3058

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 13:33:50 -05:00
Marcel Hollerbach a928205be4 e_comp_wl: only ignore ignored clients
a override client (in terms of override like x) should get focus, which
would not happen for the case of the function call.
2016-02-02 13:33:22 -05:00
Mike Blumenkrantz bd8a804718 remove defines for various beta api in other places 2016-02-02 13:32:31 -05:00
Mike Blumenkrantz 5a917094cf define EFL_BETA_API_SUPPORT explicitly in e.h if wayland support is enabled 2016-02-02 13:32:31 -05:00
Mike Blumenkrantz dfa9b45044 create wl client connection during compositor init, use in shot module
fixes shot module

ref T2919
2016-02-02 13:32:31 -05:00
Mike Blumenkrantz e67f238c06 call ecore_wl2_shutdown() in wl compositor delete callback
shutdown/restart crash--
2016-02-02 13:32:31 -05:00
Chris Michael 641fb52c62 Update wl_weekeyboard for ecore_evas_wayland_window_get2 function rename
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 13:32:31 -05:00
Chris Michael 9400e33bab Fix issue of nested compositors not working with Ecore_Wl2 library
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 13:32:31 -05:00
Chris Michael 59762676a8 Fix type of size fields for E_Shell_Data
In the xdg_surface_configure_send function, the size params
(width/height) come in as int32_t. This patch makes the E_Shell_Data
fields for width & height match those (else we end up with compiler
warnings when comparing int32_t to uint32_t).

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 13:32:31 -05:00
Chris Michael 96b55ce441 Fix using global ewd variable by making it part of e_comp_wl
ref T2919

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:31 -05:00
Chris Michael be2221ed95 Try to init (and error check the init) of ecore_wl2 library before we
create a compositor

ref T2919

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 8cc5207355 Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael c648775b95 Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 5ea81d10fd Port wl_fb module to use Ecore_Wl2 Library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 6e743567e6 Port wl_weekeyboard to use Ecore_Wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 58c7122aaf Don't leak eina_iterator in shot module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael bdc41d238d Fix formatting of wl_weekeyboard module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael cf51751347 Port shot module to use ecore_wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael b8a7b2b93f port e_scale to use Ecore_Wl2
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 824003eb1d port wayland compositor to use Ecore_Wl2
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 5ff896f4bd remove unused event loop and add external Ecore_Wl2_Display variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 01ac2a1a08 include header for Ecore_Wl2
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 157bee79ff Make configure check for Ecore_Wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Mike Blumenkrantz 80c2439e2b 20.3 NEWS updates 2016-01-18 16:01:54 -05:00
Mike Blumenkrantz 4e91278589 20.3 release 2016-01-18 15:51:30 -05:00
Mike Blumenkrantz 68a211e9c4 automatically attempt to create a wayland x11 output during comp init
at this point an x11 compositor has already failed to be created, so trying
to use x11 is safe and probably desired
2016-01-18 15:44:11 -05:00
Mike Blumenkrantz 27e4881193 use more correct defines for enabling wl output modules during comp init 2016-01-18 15:44:07 -05:00
Mike Blumenkrantz a06c03bd14 if available, use wl output (nested) for wayland compositor creation
this defaults to using a nested compositor as the first choice:
harmless if it fails to create an output
2016-01-18 15:44:01 -05:00
Mike Blumenkrantz 344a89618f unset WM_STATE for x11 clients upon unmapping them
icccm provides conflicting spec info regarding how this property should be set.
according to 4.1.3.1:

When the window is withdrawn, the window manager will either change the state
field's value to WithdrawnState or it will remove the WM_STATE property entirely.

however, 4.1.4 states:

Only the client can effect a transition into or out of the Withdrawn state

so to be on the safe(r) side, deleting the property seems to be the best choice here

ref 41daddeacc

fix T3011
2016-01-18 15:43:52 -05:00
Mike Blumenkrantz 57ea33e541 do not unset comp object native surface during shape apply
due to efl changes, unsetting a native surface now clears existing image pixel
data, resulting in a guaranteed blank render

ref T3011
2016-01-18 15:43:47 -05:00
Mike Blumenkrantz 6bedbfc235 create comp object updates tiler in helper function from either show or damage
it's possible for damage to occur before the show interceptor is triggered,
and in this case damages would be lost despite it being a valid usage

ref T3011
2016-01-18 15:43:40 -05:00
Marcel Hollerbach d093fc8e33 e_grabinput: do not pass a faulty time
Summary:
currently there is ecore_x_current_time passed, which is the time of the
last event. if this is passed to ecore_x_window_focus_at_time the request can be
ignored because the last event can be in the past. Instead using
ecore_x_window_focus fixes this, because current time is passed, which
means that x is just using this event at the time it is called.

@fix T2948

Test Plan: Try to run spotify and try to trigger the bug, I cannot anymore.

Reviewers: zmike, raster

Subscribers: raster, abyomi0, cedric, billiob

Maniphest Tasks: T2948

Differential Revision: https://phab.enlightenment.org/D3471
2016-01-18 15:43:33 -05:00
Mike Blumenkrantz b8a5f960b9 enforce border_fix_on_shelf_toggle config option in shelf
shelf overlap can only take effect based on the state of this option:
specifically, overlap can only be enabled if border_fix_on_shelf_toggle
is enabled
2016-01-18 15:40:03 -05:00
Mike Blumenkrantz 8246999681 make E_DESK_TYPE an int define
this was causing unsigned vs signed comparison warnings
2016-01-18 15:39:41 -05:00
Mike Blumenkrantz 7212db0fc5 improve menu hiding and autoclose
remove menu object from autoclose (if set) and ensure that only the
intended menu is deactivated in the autoclose callback

this fixes some cases where the wrong menu could be closed (or not closed)
due to race conditions with ecore and evas events
2016-01-18 15:39:35 -05:00
Mike Blumenkrantz b978485453 allow NULL object in e_comp_object_util_autoclose()
this can be used to unset the current autoclose object in the case
where the object is known to evade normal autoclose detection
mechanisms
2016-01-18 15:39:30 -05:00
Mike Blumenkrantz a707cc3be6 remove configs for illume modules
these have been out of the tree for years but I forgot to remove the
corresponding configs, leading to error messages when the mobile profile
attempts to load them
2016-01-18 15:38:25 -05:00
Mike Blumenkrantz d2db215201 do full cleanup when overriding existing comp autoclose object
failing to trigger delete on existing autoclose object would result
in the object never closing and being "leaked"
2016-01-18 15:38:21 -05:00
Mike Blumenkrantz 6434d2b354 make ibar config pointer EINTERN 2016-01-18 15:38:14 -05:00