path: root/src/lib/ecore_wl2 (follow)
AgeCommit message (Collapse)Author
2017-10-25ecore-wl2: correctly handle configure events on popup surfacesMike Blumenkrantz
2017-10-25wayland: expand efl-hints protocol to work for all types of xdg shell surfacesMike Blumenkrantz
2017-10-25wayland: add support for efl weight hint propagation from elm_win to efl_wlMike Blumenkrantz
2017-10-22ecore_wl2: Remove just the flush from the idle handlerDerek Foreman
Flushing should be done where it's needed now, but we still need the rest of the idle handler as something like mesa may have dispatched its queue, which reads all the pending wayland events. In that case we have events to process but the fd will not poll readable. @fix T6250
2017-10-22Revert "ecore_wl2: Kill the wl idle enterer"Derek Foreman
This reverts commit 57d5b5921e8a4a05f4a1b468f1cfed74d28b95f9. We need the dispatch, not the flush...
2017-10-12ecore_wl2: Synchronize state with surface commitsDerek Foreman
This is really several inseparable commits mashed together, as doing this a piece at a time would introduce broken intermediate revisions. Double buffer incoming "configure" state from the compositor so it's held back during asynchronous render and processed at frame completion. Hold off on certain requests if their API has been invoked during async render. This should fix a lot of races, cosmetic issues, issues where weston can kill our clients for acking configure (or not) at bad times, etc.
2017-10-12ecore_wl2: Don't overwrite saved geometry if switching fs to maxDerek Foreman
If we switch from fullscreen to maximized we need to keep the pre-fs geometry around in case we ever unmaximize AND unfullscreen.
2017-10-12ecore_wl2: Don't overwrite saved geometry if switching max to fsDerek Foreman
If we switch from maximized to fullscreen we need to keep the pre-max geometry around in case we ever unmaximize AND unfullscreen.
2017-10-12ecore_wl2: Push out maximize set with a display flushDerek Foreman
We want this request to get to the compositor as soon as possible.
2017-10-12ecore_wl2: Push out fullscreen set with a display flushDerek Foreman
We want this request to get to the compositor as soon as possible.
2017-10-12ecore_wl2: Bind dmabuf version 2Derek Foreman
Version 2 allows for create_immed requets. No new events are added until version 3, so this is a trivial update.
2017-10-12ecore_wl2: Fix setting empty input regionsDerek Foreman
We should still update window->input_rect when the input region is empty.
2017-10-12ecore_wl2: Fix setting empty opaque regionsDerek Foreman
We should still update window->opaque when the opaque region is empty.
2017-10-12ecore_wl2: Add as partial commit function for setting off a tickDerek Foreman
This adds the concept of a "false commit" that just sends a surface commit without changing any other state. This is intended to be used by ecore_evas to request a frame callback from the compositor
2017-10-12ecore_wl2: Add new API to latch window state for updatesDerek Foreman
Add an API to call at the beginning of render to latch state at that moment, and use it for the wayland engine.
2017-10-12ecore_wl2: Split configurations into client set and compositor requestedDerek Foreman
This should lead to clearer and more maintainable code than having one pile of state that's asynchronously fiddled with by both client and compositor.
2017-10-12ecore_wl2: Move some state into its own structDerek Foreman
These need to be double buffered, and that will be done in a follow up patch.
2017-10-12ecore_wl2: Add a getter for window->resizingDerek Foreman
2017-10-12ecore_wl2: Fix some @since tagsDerek Foreman
Seems my brain missed the efl release and started tagging new API incorrectly in the doxy. This is all beta API that should probably only be used by other EFL internals anyway, but I suppose it's a good idea to try to be somewhat correct.
2017-09-28ecore wl2 - fix null checing of drag offer - coverityCarsten Haitzler (Rasterman)
fix CID 1378629
2017-09-01ecore_wl2: Don't set up callbacks on initial commitDerek Foreman
We don't want to do frame callbacks until after we can actually draw stuff
2017-08-31ecore_wl2: Fix session recoveryDerek Foreman
I broke this in commit 1bb45f6e6194fa046d3d1409e1aacecc14dc4b4f We intentionally *don't* flush in window_semi_free, as this could be when there's no compositor left to flush to (in the case of session recovery).
2017-08-30ecore_wl2: Kill the wl idle entererDerek Foreman
We do flushes when we need them now, so we don't need this somewhat non deterministic flush mechanism anymore. Anything that breaks as a result of this should be fixable by adding an ecore_wl2_display_flush() somewhere appropriate.
2017-08-30ecore_wl2: Use ecore_wl2_window_commit for all wl_surface_commitsDerek Foreman
This adds an explicit flush to every surface commit.
2017-08-30ecore-wl2: FormattingChris Michael
NB: No functional changes Signed-off-by: Chris Michael <>
2017-08-30wayland: Force a display flush when committing surfacesDerek Foreman
We had a hack in place to flush the display from an idle enterer instead of after a surface commit. This led to a problem where the idle enterer dispatch order was: renderer for main canvas wayland dispatch idle enterer renderer for mouse cursor canvas The surface commit for the mouse cursor was never dispatched, so the mouse cursor animation would only update at the rate other events occurred. By flushing at the appropriate times instead we ensure a proper update. ref T5850
2017-08-30ecore_wl2: Add ecore_wl2_display_flush() apiDerek Foreman
Allowing engines to explicitly flush at the right times will remove some awkwardness and bugs from our current display flush paradigm
2017-08-30ecore_wl2: Fix small bug in flush handlerDerek Foreman
If wl_display_flush() returns a non negative number it was successful, so we should disable the write handler then. We were theoretically always doing an extra flush on an empty buffer. This is mostly cosmetic as that's not a costly operation.
2017-08-30ecore_drm2: Fix warning with a dirty hackDerek Foreman
So because we include wayland-server.h we're told that wl_buffer is deprecated - however clients are still expected to use it, it's only deprecated for usage in a compositor. Making these into void pointers shuts up the warning. We need to include wayland-server.h since some of the code provided by ecore_wl2 is for compositors, but some of it is also for clients...
2017-08-30ecore-wl2: FormattingChris Michael
NB: No functional changes Signed-off-by: Chris Michael <>
2017-08-25ecore-wl2: normalize axis event valuesMike Blumenkrantz
this is value * 10 from the compositor, so /= 10 to get real value fix T5427 @fix
2017-08-18ecore_wl2: Send configure complete when windows don't need configureDerek Foreman
The intent of the "configure complete" event is to indicate that the window is configured and ready to receive buffers. For "windows" like mouse cursors, that's immediate - let them know.
2017-08-18ecore_wl2: Refactor out code to send window configure complete eventDerek Foreman
2017-08-18ecore_wl2: Add ecore_wl2_window_buffer_attach APIDerek Foreman
Let ecore_wl2 track some buffer related state so we can more easily sync things between ecore_evas and the evas_engines.
2017-08-18ecore_wl2: Add new APIs ecore_wl2_window_frame_callback_add/del()Derek Foreman
Abstract frame callbacks through ecore_wl2_window so we can add them in multiple places without having the wayland compositor generate more than one. Also allows us to keep a callback registered over hide/unhide of a window easily.
2017-08-18ecore_wl2: Add API ecore_wl2_window_pending_get()Derek Foreman
Lets us test if a commit has been requested but the compositor hasn't yet told use to draw new content for it.
2017-08-18ecore_wl2: Add API ecore_wl2_window_commit()Derek Foreman
Abstract wl_surface commits in ecore_wl2_window.
2017-08-18wayland: fix num/caps lock handling in eventsMike Blumenkrantz
locks are not the same as modifiers, and the corresponding event flag must be set based on whichever value(s) are set instead of yolo mixing and matching @fix ref T5737
2017-08-11wayland: set min/max size hints to surface before showMike Blumenkrantz
with deferred surface creation the first canvas change of hints may not be able to trigger protocol methods for size hints, so ensure that hints are set
2017-08-11wayland: remove xdg5 supportMike Blumenkrantz
this has not been used or tested since last year and there are no major compositors which lack xdg6 support
2017-08-11wayland: fix xdg-shell popup windowsMike Blumenkrantz
2017-08-08ecore-wl2: Add support for Window Iconify State ChangeChris Michael
This patch adds support for the Window Iconify State Change event structure and the ecore event type to support it. '#divergence' @feature Signed-off-by: Chris Michael <>
2017-08-04wayland: add efl-hints protocol for setting aspect on surfacesMike Blumenkrantz
2017-08-04wayland: fix min/max size settingMike Blumenkrantz
also don't set arbitrary hints on init @fix
2017-08-04ecore-wl2: sync aux hints after window creationMike Blumenkrantz
ensure hints are available when needed @fix
2017-08-04ecore-wl2: don't send null set_parent requests for every windowMike Blumenkrantz
this is redundant @fix
2017-08-04ecore-wl2: make _ecore_wl2_display_sync_get() local instead of staticMike Blumenkrantz
2017-08-04ecore-wl2: simplify server pid detectionMike Blumenkrantz
2017-08-04ecore-wl2: pass display to aux hint event_addsMike Blumenkrantz
fixes display refcounting ref 6bb56b3f5651fab85b1a0a1a1a8040f4e488c799 @fix
2017-08-03ecore-wl2: Rename local function and make it staticChris Michael
As this function is not called from anywhere outside of ecore_wl2_window.c file, this can be declared static. NB: This patch also changes the function name to match the library (ecore_wl2). Signed-off-by: Chris Michael <>