Mike Blumenkrantz [Thu, 2 Jul 2015 18:30:54 +0000 (14:30 -0400)]
block wl key events from reaching clients during client actions or key grabs
Mike Blumenkrantz [Thu, 2 Jul 2015 18:26:40 +0000 (14:26 -0400)]
pop an error dialog when trying to load xwayland module under x11
this is impossible and will never be possible; ecore-x can only manage
a single x11 connection at any time, and so it will never be possible to both
manage the x11 compositor canvas on one xserver and manage xwayland clients
on a separate server
invalidates T2537
Mike Blumenkrantz [Thu, 2 Jul 2015 18:26:28 +0000 (14:26 -0400)]
reject xwayland module from saved module loading
Mike Blumenkrantz [Thu, 2 Jul 2015 18:26:02 +0000 (14:26 -0400)]
set initial surface attrs for internal wl clients
Mike Blumenkrantz [Thu, 2 Jul 2015 17:55:42 +0000 (13:55 -0400)]
clean up xwayland lock/socket init code
Mike Blumenkrantz [Wed, 1 Jul 2015 21:42:26 +0000 (17:42 -0400)]
fix typo in conditional for setting x11 hints
Mike Blumenkrantz [Wed, 1 Jul 2015 21:12:16 +0000 (17:12 -0400)]
do not apply x11 focus grabs to internal elm clients
due to recent changes in ecore-input-evas, mouse events are propagated
differently; specifically, there are now "more" events than there previously were.
as a result, grabs on internal wins are no longer necessary, though they probably
never were necessary after the elm conversion
see
5cb6cdbc5e1a13ea0262e155983b494e6519abde in efl
Mike Blumenkrantz [Wed, 1 Jul 2015 21:01:54 +0000 (17:01 -0400)]
reject x11 replay clicks when event window != client window
Mike Blumenkrantz [Wed, 1 Jul 2015 20:47:57 +0000 (16:47 -0400)]
only ungrab x11 windows when appropriate focus options are set
Mike Blumenkrantz [Wed, 1 Jul 2015 20:44:09 +0000 (16:44 -0400)]
allow hint setting on x11 windows in xwayland
Mike Blumenkrantz [Wed, 1 Jul 2015 20:41:26 +0000 (16:41 -0400)]
replace comp_x usage of internal xwindow detection function with new util fn
Mike Blumenkrantz [Wed, 1 Jul 2015 20:40:10 +0000 (16:40 -0400)]
add client util function for determining if a backing xwindow exists
Mike Blumenkrantz [Wed, 1 Jul 2015 20:25:45 +0000 (16:25 -0400)]
replace some x11 compositor checks with calls to util function
Mike Blumenkrantz [Wed, 1 Jul 2015 20:08:21 +0000 (16:08 -0400)]
fix e_scale wayland conditional defines
Mike Blumenkrantz [Wed, 1 Jul 2015 20:05:25 +0000 (16:05 -0400)]
add util function for determining presence of x11 compositor
Mike Blumenkrantz [Wed, 1 Jul 2015 20:02:48 +0000 (16:02 -0400)]
print xwl loading debug after checking compositor type
Mike Blumenkrantz [Wed, 1 Jul 2015 19:51:46 +0000 (15:51 -0400)]
ensure x11 focus grabs are applied on client init when needed
Mike Blumenkrantz [Wed, 1 Jul 2015 19:32:25 +0000 (15:32 -0400)]
straggler ungrab of x11 parent window from previous commit
Mike Blumenkrantz [Wed, 1 Jul 2015 19:24:05 +0000 (15:24 -0400)]
redo all x11 client mouse grabbing for focus
I did an audit of this and it seemed that it no longer served the purpose
for which it was originally intended. specifically, this is for enforcing
click: raise/focus options, and so grabs must be in play on client windows
only when they are not focused to ensure that we get mouse events and can
then focus them. the grabs must then be removed once the window has focus
to avoid spurious mouse eventing
Chris Michael [Wed, 1 Jul 2015 18:50:28 +0000 (14:50 -0400)]
e-comp-wl: Update modifiers on key down/key up events
NB: Fixes Ctrl+D problem here.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 1 Jul 2015 17:25:20 +0000 (13:25 -0400)]
e-comp-wl-input: destroy xkb keyboard state Before destroying the keymap
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 1 Jul 2015 17:18:55 +0000 (13:18 -0400)]
e-comp-wl-input: Format for 80 columns
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 1 Jul 2015 16:43:05 +0000 (12:43 -0400)]
xwayland: Use proper E_API for exporting module symbols
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 1 Jul 2015 16:23:40 +0000 (12:23 -0400)]
correctly fix check for x11 compositor in e_xkb
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 1 Jul 2015 16:20:32 +0000 (12:20 -0400)]
correctly fix check for compositor in e_grabinput
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 1 Jul 2015 16:17:54 +0000 (12:17 -0400)]
e_grabinput: Don't call ecore_x functions if we are not an X compositor
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 1 Jul 2015 13:16:18 +0000 (09:16 -0400)]
Don't call ecore_x_xkb_select_group if the compositor is not X11
This fixes T2533 where the startup wizard would crash when run under
DRM due to the change in build options (xwayland support).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Tue, 30 Jun 2015 22:46:33 +0000 (18:46 -0400)]
use client window for x11 button ungrabbing
ref
afb62b498997ca038687c0cd0ca97aa361aaa1b7
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