Mike Blumenkrantz [Tue, 30 Jun 2015 22:38:36 +0000 (18:38 -0400)]
copy more attributes from x11 -> wl on xwayland client swap
xwayland sets a wrong size on some (eg. menus) clients and wayland
cannot provide geometry or stacking information, so ensure that all
of this is copied over
also remove overrides from focus stack
Mike Blumenkrantz [Tue, 30 Jun 2015 22:38:01 +0000 (18:38 -0400)]
clean up xwl data on client deletion
remove the extra comp_data, the pending client list entry, and the pixmap ref
Mike Blumenkrantz [Tue, 30 Jun 2015 22:37:21 +0000 (18:37 -0400)]
don't create first draw timers for input-only x11 clients
Mike Blumenkrantz [Tue, 30 Jun 2015 22:36:23 +0000 (18:36 -0400)]
don't attempt to change layer of override clients with parent set in x11
overrides will stack how they want, leave them alone
Mike Blumenkrantz [Tue, 30 Jun 2015 22:36:03 +0000 (18:36 -0400)]
add debug info when x11 client messages are missed
Mike Blumenkrantz [Tue, 30 Jun 2015 22:34:16 +0000 (18:34 -0400)]
temporarily toggle ignored flag during wl surface commit
ensures canvas operations succeed during commit in cases where
subsequent commits do not occur (eg. menus, popups, ...)
Mike Blumenkrantz [Tue, 30 Jun 2015 22:33:38 +0000 (18:33 -0400)]
fix typo in iterating pending xwl clients on wl surface creation
Mike Blumenkrantz [Tue, 30 Jun 2015 22:33:00 +0000 (18:33 -0400)]
free all ec->comp_data ptrs in _e_client_del
need this to live through multiple del hooks, so simplify all code by
freeing in one place
Mike Blumenkrantz [Tue, 30 Jun 2015 22:31:43 +0000 (18:31 -0400)]
only reject ec->ignored clients from wl mouse events
fixes input on overrides
Mike Blumenkrantz [Tue, 30 Jun 2015 20:03:51 +0000 (16:03 -0400)]
add special case for xwayland override clients in show event handler
Mike Blumenkrantz [Tue, 30 Jun 2015 20:03:37 +0000 (16:03 -0400)]
use separate client hashes for x11/wl clients
Chris Michael [Tue, 30 Jun 2015 19:58:10 +0000 (15:58 -0400)]
e-comp-wl: Release keys on key_up regardless if client has focus
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Tue, 30 Jun 2015 19:51:29 +0000 (15:51 -0400)]
fix compile from previous commit
I am not a smart man.
Mike Blumenkrantz [Tue, 30 Jun 2015 19:50:04 +0000 (15:50 -0400)]
disable uuid store
currently seems to fill logs with infinite error messages
ref T2532
Mike Blumenkrantz [Tue, 30 Jun 2015 19:38:13 +0000 (15:38 -0400)]
unset ec->ignored during xwayland client data swap
Mike Blumenkrantz [Tue, 30 Jun 2015 19:37:56 +0000 (15:37 -0400)]
attempt to create xwayland x11 socket path before creating socket
Chris Michael [Tue, 30 Jun 2015 13:10:54 +0000 (09:10 -0400)]
e-comp-wl: Don't crash from a missing keymap
This fixes T2531 where E would crash if the keymap could not be
fetched from xkb. Now if no keymap rules, model, or layout are passed
in we will default to a US keymap.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Stefan Schmidt [Tue, 30 Jun 2015 10:06:29 +0000 (12:06 +0200)]
wl_x11: Mark data in callback as unused
Mike Blumenkrantz [Mon, 29 Jun 2015 22:14:20 +0000 (18:14 -0400)]
add focusgrab test
this test demonstrates one of the more annoying aspects of x11 focus
Mike Blumenkrantz [Mon, 29 Jun 2015 20:38:17 +0000 (16:38 -0400)]
enforce pstate's extremely-confusing no_turbo option in cpufreq
fix T2411
Mike Blumenkrantz [Mon, 29 Jun 2015 20:01:52 +0000 (16:01 -0400)]
trigger client mouse-in on x11 mouse movement for non-action clients
this should fix the case of mouse-based focus policies trying to reapply
focus after another client has stolen it away without the pointer leaving
the window
Mike Blumenkrantz [Mon, 29 Jun 2015 20:00:43 +0000 (16:00 -0400)]
trigger fake mouse-out on clients when unsetting focus
this will allow a more reasonable determination of pointer location
when attempting to apply mouse-based focus policies
Mike Blumenkrantz [Mon, 29 Jun 2015 19:48:27 +0000 (15:48 -0400)]
unset changes.visible when forcing visibility during no-effect desk flip
this is set for new clients and creates visibility issues on startup
Mike Blumenkrantz [Mon, 29 Jun 2015 19:47:57 +0000 (15:47 -0400)]
fix focus FIXME regarding focus-setting on clients from other desks
fix T2259
Mike Blumenkrantz [Mon, 29 Jun 2015 19:28:41 +0000 (15:28 -0400)]
check for possible parent window on x11 mouse button events
in the case of different window <-> event_window, window is a child window
of event_window, and thus checking event_window here is valid (and necessary)
Mike Blumenkrantz [Mon, 29 Jun 2015 19:26:08 +0000 (15:26 -0400)]
stop rejecting possibly-valid x11 focus events
fixes case where window assumes focus without wm interaction
Mike Blumenkrantz [Mon, 29 Jun 2015 18:58:48 +0000 (14:58 -0400)]
set pager_plain to fill area
fix T2526
Mike Blumenkrantz [Mon, 29 Jun 2015 17:55:05 +0000 (13:55 -0400)]
fix ecore-x detection with wayland support, also fix wl-only detection
fix T2527
Mike Blumenkrantz [Mon, 29 Jun 2015 17:54:45 +0000 (13:54 -0400)]
disable wl-fb output module
this has never worked and is not being actively developed
Mike Blumenkrantz [Mon, 29 Jun 2015 17:42:14 +0000 (13:42 -0400)]
remove E_Comp_Data reference from wl-x11 module
fix T2528
Mike Blumenkrantz [Mon, 29 Jun 2015 17:40:51 +0000 (13:40 -0400)]
fix wl-x11 configure checks
Mike Blumenkrantz [Mon, 29 Jun 2015 17:30:00 +0000 (13:30 -0400)]
rename --enable-wayland-only to --enable-wayland
wayland-only is only enabled if xwayland and x11 output are disabled
Stefan Schmidt [Fri, 20 Mar 2015 18:07:43 +0000 (19:07 +0100)]
session_recovery: Add wayland extension protocol prototype for session recovery
Like with all other wayland protocols I add the files generated with wayland
scanner here. Also the xml so we have the source around for updating and
modifications. We might want to think about wayland-scanner support in our build
system but this works for now.
The protocol prototype is hold simple and does only have a uuid signal and provide
call to handle the uuid assignment from compositor to app and app providing its
uuid if present already.
Stefan Schmidt [Fri, 20 Mar 2015 10:35:35 +0000 (11:35 +0100)]
e_pixmap: Create uuid when being used as a wl surface
Stefan Schmidt [Tue, 25 Mar 2014 10:06:25 +0000 (11:06 +0100)]
e_main: Initialize UUID store during E startup
I have been running with this enabled for a while and it should not make
trouble but if it does simply reverting this one if totally fine while I'm
away.
Stefan Schmidt [Wed, 23 Apr 2014 12:50:33 +0000 (14:50 +0200)]
e_remember: Update UUID store properties from e_remember
The e_remember infrastructure already hooks into all needed places to keep
a record of the given properties for an e_client. We use this to update the
UUID store.
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Stefan Schmidt [Thu, 10 Apr 2014 15:12:28 +0000 (17:12 +0200)]
e_client: Remove deleted client from UUID store
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Chris Michael [Thu, 25 Jun 2015 13:48:44 +0000 (09:48 -0400)]
e-comp-wl: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Carsten Haitzler (Rasterman) [Sun, 28 Jun 2015 08:24:29 +0000 (17:24 +0900)]
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
Mike Blumenkrantz [Fri, 26 Jun 2015 16:35:59 +0000 (12:35 -0400)]
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
Chris Michael [Fri, 26 Jun 2015 14:25:42 +0000 (10:25 -0400)]
mixer: Fix resource leaks
This fixes Coverity CID1308395: Resource leak. Basically, don't bother
allocating 'source' if we are just going to end up returning due to
'eol' variable tests
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Fri, 26 Jun 2015 00:04:01 +0000 (20:04 -0400)]
set shm engine for wl internal windows
this seems to be necessary for now to prevent crashing
Mike Blumenkrantz [Fri, 26 Jun 2015 00:02:02 +0000 (20:02 -0400)]
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
Mike Blumenkrantz [Thu, 25 Jun 2015 23:59:42 +0000 (19:59 -0400)]
reject non-x11 clients from _e_comp_x_client_zone_geometry_set()
Mike Blumenkrantz [Thu, 25 Jun 2015 23:55:37 +0000 (19:55 -0400)]
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
Mike Blumenkrantz [Thu, 25 Jun 2015 23:41:04 +0000 (19:41 -0400)]
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
Mike Blumenkrantz [Thu, 25 Jun 2015 23:34:10 +0000 (19:34 -0400)]
reject non-X clients from _e_comp_x_object_add()
Mike Blumenkrantz [Thu, 25 Jun 2015 23:29:49 +0000 (19:29 -0400)]
block xkb activation for non-X11 compositors
Mike Blumenkrantz [Thu, 25 Jun 2015 23:29:24 +0000 (19:29 -0400)]
correct e_comp->new_client count for overrides in x compositor
Mike Blumenkrantz [Thu, 25 Jun 2015 23:28:38 +0000 (19:28 -0400)]
move X idle flusher to comp_x
Mike Blumenkrantz [Thu, 25 Jun 2015 23:24:40 +0000 (19:24 -0400)]
don't call wl comp delete function twice on shutdown
Mike Blumenkrantz [Thu, 25 Jun 2015 23:23:35 +0000 (19:23 -0400)]
comment out grabinput focus calls in wayland compositor
these did nothing, remove for now
Mike Blumenkrantz [Thu, 25 Jun 2015 23:22:49 +0000 (19:22 -0400)]
set client visibility for shell-less wayland clients appropriately during commit
Mike Blumenkrantz [Thu, 25 Jun 2015 23:21:49 +0000 (19:21 -0400)]
reject ignored clients from being processed in client idler
Mike Blumenkrantz [Thu, 25 Jun 2015 23:21:28 +0000 (19:21 -0400)]
reject stacking clients from frame updates in client idler
Mike Blumenkrantz [Thu, 25 Jun 2015 23:20:42 +0000 (19:20 -0400)]
use ctrl+alt+backspace hotkey in wayland compositor for all non-release builds
Mike Blumenkrantz [Thu, 25 Jun 2015 23:20:30 +0000 (19:20 -0400)]
unused variable--
Mike Blumenkrantz [Thu, 25 Jun 2015 23:19:47 +0000 (19:19 -0400)]
set wl client surface pointer in surface create method
remnant from when clients were created by the shell
Mike Blumenkrantz [Thu, 25 Jun 2015 23:18:19 +0000 (19:18 -0400)]
remove unnecessary header includes from e_comp_x.h
Mike Blumenkrantz [Thu, 25 Jun 2015 23:17:49 +0000 (19:17 -0400)]
don't undef NEED_X in wl compositor headers
no idea why this was here
Mike Blumenkrantz [Thu, 25 Jun 2015 23:16:27 +0000 (19:16 -0400)]
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
Mike Blumenkrantz [Thu, 25 Jun 2015 22:58:41 +0000 (18:58 -0400)]
redo wayland-only configure option and define
HAVE_WAYLAND_ONLY is now only set when there is only wayland. this means there
is no x11 support. zero. no x compositor. no xwayland. no x11 output module.
Mike Blumenkrantz [Thu, 25 Jun 2015 22:55:00 +0000 (18:55 -0400)]
simplify e build and add X headers for xwayland module
Mike Blumenkrantz [Thu, 25 Jun 2015 22:54:27 +0000 (18:54 -0400)]
add setup for WL_SURFACE_ID X atom
Mike Blumenkrantz [Thu, 25 Jun 2015 22:53:55 +0000 (18:53 -0400)]
use c array size for e atom init
Mike Blumenkrantz [Thu, 25 Jun 2015 22:52:04 +0000 (18:52 -0400)]
remove wayland-clients configure option
this has been dead for a long time and is no longer necessary since
xwayland support exists
Mike Blumenkrantz [Thu, 25 Jun 2015 22:50:20 +0000 (18:50 -0400)]
bump wayland version requirement to 1.8
Mike Blumenkrantz [Thu, 25 Jun 2015 22:49:00 +0000 (18:49 -0400)]
HAVE_WAYLAND_CLIENTS || HAVE_WAYLAND_ONLY -> HAVE_WAYLAND
these are semantically identical
Mike Blumenkrantz [Thu, 25 Jun 2015 22:41:07 +0000 (18:41 -0400)]
finish xwayland module implementation
note that this basically does nothing other than start an xserver and connection
bisect harder if looking for bugs
Mike Blumenkrantz [Tue, 28 Apr 2015 20:58:55 +0000 (16:58 -0400)]
fix xwayland fd dup conditionals
Mike Blumenkrantz [Tue, 28 Apr 2015 18:10:00 +0000 (14:10 -0400)]
fix xwayland configure check
Mike Blumenkrantz [Tue, 28 Apr 2015 17:38:26 +0000 (13:38 -0400)]
load wl_desktop_shell and xwayland after wl comp load
Mike Blumenkrantz [Tue, 28 Apr 2015 17:25:53 +0000 (13:25 -0400)]
update xwayland for api changes
Mike Blumenkrantz [Tue, 28 Apr 2015 17:25:18 +0000 (13:25 -0400)]
fix xwayland linkage + makefile formatting
Mike Blumenkrantz [Tue, 28 Apr 2015 17:14:34 +0000 (13:14 -0400)]
remove xwayland .desktop and .edj files
Chris Michael [Mon, 8 Sep 2014 16:32:18 +0000 (12:32 -0400)]
xwayland: Add checks for xcb libraries needed for xwayland support
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Mon, 8 Sep 2014 16:30:34 +0000 (12:30 -0400)]
xwayland: Add code to cleanup xwayland on shutdown
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Fri, 5 Sep 2014 19:00:00 +0000 (15:00 -0400)]
xwayland: Check for sigusr1 in event handler
XWayland servers sends us SIGUSR1 when it has finished initializing,
so we should be checking the signal number when we get the event.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 4 Sep 2014 18:45:20 +0000 (14:45 -0400)]
xwayland: Fix build breakage with recent e_comp_wl changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 15 Jul 2014 17:54:55 +0000 (13:54 -0400)]
xwayland: Add some debugging code while trying to work out failures
with this
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 15 Jul 2014 14:58:48 +0000 (10:58 -0400)]
xwayland: Fix launching of XWayland server and pass proper display to
wl_client_create
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 15 Jul 2014 13:50:07 +0000 (09:50 -0400)]
Whitelist the new xwayland module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Conflicts:
src/bin/e_module.c
Chris Michael [Sun, 6 Jul 2014 14:51:01 +0000 (10:51 -0400)]
xwayland: Create the wl_client which represents the window manager
process.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Sun, 6 Jul 2014 14:12:03 +0000 (10:12 -0400)]
xwayland: Create and bind to unix & abstract sockets
NB: XWayland server needs the sockets setup prior to launching it so
we add some code to create & bind the needed sockets before starting
the XWayland binary
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Sun, 6 Jul 2014 14:11:38 +0000 (10:11 -0400)]
xwayland: Fix makefile to use xwayland binary path
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Sun, 6 Jul 2014 14:11:04 +0000 (10:11 -0400)]
xwayland: Fix configure.ac to substitute the xwayland binary path
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 2 Jul 2014 15:46:22 +0000 (11:46 -0400)]
Add start of xwayand module code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 2 Jul 2014 15:46:06 +0000 (11:46 -0400)]
add xwayland module edj file for icon
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 2 Jul 2014 15:45:55 +0000 (11:45 -0400)]
add xwayland module desktop file
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 2 Jul 2014 15:45:30 +0000 (11:45 -0400)]
Add xwayland Makefile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 2 Jul 2014 15:45:12 +0000 (11:45 -0400)]
Add xwayland module to modules Makefile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 2 Jul 2014 15:44:55 +0000 (11:44 -0400)]
add xwayland to configure.ac
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Conflicts:
configure.ac
Chris Michael [Thu, 25 Jun 2015 16:05:05 +0000 (12:05 -0400)]
wl-desktop-shell: Don't crash when trying to place popup menus in QT apps
This is a partial fix for T2517. It fixes the crash, but does not
address popup menu placement.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 25 Jun 2015 13:45:28 +0000 (09:45 -0400)]
wl-desktop-shell: Remove useless return at end of function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 25 Jun 2015 13:30:59 +0000 (09:30 -0400)]
wl-desktop-shell: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Tom Hacohen [Mon, 22 Jun 2015 14:37:13 +0000 (15:37 +0100)]
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
Chris Michael [Mon, 22 Jun 2015 14:20:30 +0000 (10:20 -0400)]
Fix Coverity CID1298053
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Mon, 22 Jun 2015 14:19:13 +0000 (10:19 -0400)]
Fix Coverity CID1298052
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Sat, 20 Jun 2015 16:31:32 +0000 (12:31 -0400)]
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
Mike Blumenkrantz [Fri, 19 Jun 2015 20:28:13 +0000 (16:28 -0400)]
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