Mike Blumenkrantz [Wed, 8 Jul 2015 18:48:19 +0000 (14:48 -0400)]
make e_client_util_.?win_get() fns return xwayland windows when available
fixes setting x11 hints in xwayland clients
Mike Blumenkrantz [Wed, 8 Jul 2015 18:47:24 +0000 (14:47 -0400)]
set xwayland clients in x11 compositor client hash using parent window on flip
Mike Blumenkrantz [Wed, 8 Jul 2015 18:46:12 +0000 (14:46 -0400)]
properly calculate client+frame sizes during wl surface commit
Mike Blumenkrantz [Wed, 8 Jul 2015 16:36:36 +0000 (12:36 -0400)]
account for race condition when creating initial comp object updates tiler
under wayland, some surfaces (eg. cursors) would attempt to show prior to
having acquired their actual size. these show attempts should be rejected
until the size has been set to ensure that rendering can proceed as expected
fix T2557
Mike Blumenkrantz [Tue, 7 Jul 2015 18:33:14 +0000 (14:33 -0400)]
feed mouse-in event to drm canvas on init
this is normally triggered by the engine/display server, but the drm
output is too powerful to be bothered by such trivial matters as
mouse events on startup
Mike Blumenkrantz [Tue, 7 Jul 2015 17:11:33 +0000 (13:11 -0400)]
block client signal binding activation when mouse action is active
this prevents oddities such as activating [window shade] and [resize] actions
simultaneously from breaking the compositor
Chris Michael [Mon, 6 Jul 2015 13:37:52 +0000 (09:37 -0400)]
shot: Fix formatting for 80 columns
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Mon, 6 Jul 2015 20:21:58 +0000 (16:21 -0400)]
set CRITICAL urgency for notification internal notifications
ensure that presentation/offline mode toggles will display a notify
Mike Blumenkrantz [Mon, 6 Jul 2015 19:46:02 +0000 (15:46 -0400)]
move grabinput focus fix timer to x11 compositor and fix it to Work Better
see inline comments about x11 focus eventing for details
fix T2547
Mike Blumenkrantz [Mon, 6 Jul 2015 18:29:30 +0000 (14:29 -0400)]
use ref macros to silence more printfs in e_remember
Mike Blumenkrantz [Mon, 6 Jul 2015 18:23:54 +0000 (14:23 -0400)]
use evas object callbacks for fwin mouse in/out, don't use ecore-x handlers in wayland
improve compatibility with wayland compositors
Mike Blumenkrantz [Mon, 6 Jul 2015 16:51:38 +0000 (12:51 -0400)]
silence printf noise in screensaver and pkgkit module
Mike Blumenkrantz [Mon, 6 Jul 2015 16:45:03 +0000 (12:45 -0400)]
make pager popups only trigger on urgency hint if client is not currently visible
the annoyance of having this popup constantly triggered while a window is visible
cannot be understated.
Mike Blumenkrantz [Mon, 6 Jul 2015 16:29:27 +0000 (12:29 -0400)]
make e_client_util_desk_visible() work for overrides without desks
Carsten Haitzler (Rasterman) [Sun, 5 Jul 2015 01:51:13 +0000 (10:51 +0900)]
e desktop file properties - fix icon sel tab to expand icon and icon name
this fixes this tab after e20 dev changes
Carsten Haitzler (Rasterman) [Sun, 5 Jul 2015 01:40:38 +0000 (10:40 +0900)]
e -> menu -> fix games menu to be flat like others and include steam
this improves the menu layout to be simpler and nicer by far. steam
games go from other to games menu.
Derek Foreman [Fri, 3 Jul 2015 15:55:40 +0000 (11:55 -0400)]
wizard: Prevent crash
Summary: If we get here when curpage is NULL, we'll crash later, so we should test for it.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2793
Derek Foreman [Thu, 2 Jul 2015 22:11:27 +0000 (18:11 -0400)]
wizard: Prevent crash
Summary: If we get here when curpage is NULL, we'll crash later, so we should test for it.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2789
Derek Foreman [Thu, 2 Jul 2015 21:54:40 +0000 (17:54 -0400)]
Init some vars to NULL in compositor create
Summary: In some cases these end up uninitialized and we crash.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2788
Mike Blumenkrantz [Thu, 2 Jul 2015 20:52:11 +0000 (16:52 -0400)]
set title/name/class on wl-x11 output canvas window
Mike Blumenkrantz [Thu, 2 Jul 2015 20:49:19 +0000 (16:49 -0400)]
only apply xwl client deletion to xwl clients in x11 compositor
Mike Blumenkrantz [Thu, 2 Jul 2015 20:49:06 +0000 (16:49 -0400)]
bump required efl version
Mike Blumenkrantz [Thu, 2 Jul 2015 18:58:10 +0000 (14:58 -0400)]
reorder xwayland client swap attribute setting
Mike Blumenkrantz [Thu, 2 Jul 2015 18:57:42 +0000 (14:57 -0400)]
unset x11 focus grabs on clients only if there is an xwindow present
fix T2539
Mike Blumenkrantz [Thu, 2 Jul 2015 18:57:01 +0000 (14:57 -0400)]
return NULL when a client's xwayland pixmap is unreachable
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()