Derek Foreman [Mon, 20 Jul 2015 15:17:40 +0000 (11:17 -0400)]
wayland: Also link with libwayland-client.so
Summary:
E is both a client and a server, so it should be linking
both libraries.
#Kansas
Reviewers: zmike, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2843
Carsten Haitzler (Rasterman) [Sun, 19 Jul 2015 13:41:48 +0000 (22:41 +0900)]
e - randr allow you to turn off screens and keep them off if config says so
Carsten Haitzler (Rasterman) [Sat, 18 Jul 2015 14:39:46 +0000 (23:39 +0900)]
e - unbreak client pixmaps when native surf is used
this unbreaks disappearing client content introduced by
5a001b1759445c1461341c7d1e069ac74e411f04.
Mike Blumenkrantz [Fri, 17 Jul 2015 20:08:37 +0000 (16:08 -0400)]
do not set opaque regions on comp object mirrors
based on testing, this breaks all rendering of related objects. I
suspect that the image border needs to be manually scaled based on
image::mirror proportions in order for this to work as expected, but
adding the required code seems like too much complexity for nearly zero
gain
Mike Blumenkrantz [Fri, 17 Jul 2015 20:07:01 +0000 (16:07 -0400)]
render surface opaque regions as opaque when image border is set
it seems that just setting the opaque region is not enough for evas;
we must also inform it that the opaque region is opaque and should not
be blended
Mike Blumenkrantz [Fri, 17 Jul 2015 19:58:14 +0000 (15:58 -0400)]
zero out wl surface opaque region on commit in all cases
it's possible that the opaque ptr may exist but have no regions,
which will result in the previous frame's opaque region being used
Mike Blumenkrantz [Fri, 17 Jul 2015 19:29:13 +0000 (15:29 -0400)]
add e_client_unignore() for triggering events when unignoring a client
mainly for use in wayland compositing since all surfaces are ignored
until they get a shell surface or a commit
Mike Blumenkrantz [Fri, 17 Jul 2015 19:28:23 +0000 (15:28 -0400)]
fix wl_fb define name in comp init
Mike Blumenkrantz [Fri, 17 Jul 2015 19:23:34 +0000 (15:23 -0400)]
enforce image border/size/pixels_dirty setting on comp mirrors during create
this should provide a more accurate first-render for mirrors as they are added
Mike Blumenkrantz [Fri, 17 Jul 2015 18:55:44 +0000 (14:55 -0400)]
ensure wayland parts of shot module use the correct wayland display objects
the ecore-wl global objects used here will be wrong for the case of nested
compositors
Mike Blumenkrantz [Fri, 17 Jul 2015 18:55:18 +0000 (14:55 -0400)]
do not update client list hint when creating a new wayland client
Mike Blumenkrantz [Fri, 17 Jul 2015 18:54:56 +0000 (14:54 -0400)]
always set new wayland E_Clients to be ignored during client hook
Mike Blumenkrantz [Thu, 16 Jul 2015 20:51:54 +0000 (16:51 -0400)]
add wl_wl wl output module
it is now possible to create a xephyr window in a drm-enlightenment session,
launch wl-x11 enlightenment in xephyr, and then launch wl-wl enlightenment
inside that enlightenment
the primary limitation on this output module is that all internal windows will
appear in the outer compositor due to the current restriction of ecore-wayland
with regard to only having a single global display server connection
#Inception
Seunghun Lee [Fri, 17 Jul 2015 19:04:39 +0000 (15:04 -0400)]
remove a kind of typo in E_ZONE_GEOMETRY atom string.
Test Plan: N/A
Reviewers: devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2833
Chris Michael [Fri, 17 Jul 2015 18:58:34 +0000 (14:58 -0400)]
e-comp-wl: Fix region_add and region_subtract functions to make sure we have accurate opaque regions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Thu, 16 Jul 2015 16:59:04 +0000 (12:59 -0400)]
...and also ungrab the compositor when internal drags end
Mike Blumenkrantz [Thu, 16 Jul 2015 16:50:54 +0000 (12:50 -0400)]
only use input xwindows for internal drags in x11 compositor
this fixes input region detection for dnd operations
fix T1831
Derek Foreman [Wed, 15 Jul 2015 22:09:15 +0000 (18:09 -0400)]
screenshooting: Avoid void pointer arithmetic
Summary:
If we use unsigned char pointers instead of void pointers we actually
conform to the C standard.
This patch removes a reliance on a gcc extension and, as an added bonus,
also quiets a warning in the default build.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2820
Mike Blumenkrantz [Wed, 15 Jul 2015 22:08:32 +0000 (18:08 -0400)]
wl clients should not use edges during keyboard resize
ref T2452
Mike Blumenkrantz [Wed, 15 Jul 2015 22:07:12 +0000 (18:07 -0400)]
add E_Client->keyboard_resizing flag
there is no other indication of whether a client is resizing using the
keyboard, so this should serve as an adequate hint
Mike Blumenkrantz [Wed, 15 Jul 2015 20:22:02 +0000 (16:22 -0400)]
never use new clients for stacking part 2: the secret of the stacking
a client with this flag set here is unreliable to use as a stacking
reference since it has yet to be stacked and can be located anywhere
in the window stack.
fixes internal window stacking on startup
Mike Blumenkrantz [Wed, 15 Jul 2015 18:47:35 +0000 (14:47 -0400)]
ensure that focus is set and focus stack is managed on winlist hide
if pointer warping is disabled, attempting to pointer warp with mouse-based
focus policies will fail here, preventing focus from being applied as expected
ref T2566
Mike Blumenkrantz [Wed, 15 Jul 2015 18:27:19 +0000 (14:27 -0400)]
only trigger client mouse-in from x11 mouse move event if client+desk are visible
ref T2566
Mike Blumenkrantz [Wed, 15 Jul 2015 17:55:35 +0000 (13:55 -0400)]
simulate netwm sync for xwl clients
blocks execution of resizes until the surface commit arrives. reduces
the race condition between resize and render and eliminates frame drops
during slow resizes
Mike Blumenkrantz [Wed, 15 Jul 2015 17:40:32 +0000 (13:40 -0400)]
move xwayland socket connection to its own thread
this operation performs a synchronous socket connection inside xlib which can
block for an infinite amount of time. in order to avoid having a potentially
unlimited amount of time where the ui is frozen and polling on the socket connection,
move it to a thread where it can hang for as long as it wants and then use the
resulting display object for the ecore-x connection
Chris Michael [Wed, 15 Jul 2015 17:46:51 +0000 (13:46 -0400)]
e-comp-wl: Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 14 Jul 2015 19:26:38 +0000 (15:26 -0400)]
e-comp-wl: Fix T2570: stuck key when closing efm windows
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 14 Jul 2015 19:10:38 +0000 (15:10 -0400)]
e-comp-wl: Fix getting end key during key down/up events
NB: This is actually an Oopsie from a previous commit that should not
have gotten in.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 14 Jul 2015 18:46:13 +0000 (14:46 -0400)]
e-comp-wl: don't send keyboard modifiers twice.
NB: e_comp_wl_input_keyboard_modifiers_update already sends keyboard
modifiers to all keyboard resources, so no need to call this twice.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 14 Jul 2015 18:18:21 +0000 (14:18 -0400)]
e-comp-wl: Update keyboard and modifier state AFTER we send them to clients
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 14 Jul 2015 15:58:24 +0000 (11:58 -0400)]
e-comp-wl: Add support for wl_keyboard_send_repeat_info to allow for configurable keyboard repeat rates
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 14 Jul 2015 14:18:19 +0000 (10:18 -0400)]
e-comp-wl: Update keyboard key state regardless of client focus or not
Key state updates need to be consistent. As we update the key state on
key up regardless of client focus, then we should be doing the same in
the key_down event handler so that key state remains consistent.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 14 Jul 2015 14:17:23 +0000 (10:17 -0400)]
e-comp-wl: Don't call keyboard_modifiers_update twice
e_comp_wl_input_keyboard_state_update already makes a call to
e_comp_wl_input_keyboard_modifeirs_update so there is no need to call
it twice on key up/down events.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Tue, 14 Jul 2015 17:12:06 +0000 (13:12 -0400)]
Revert "delete render updates for xwayland clients upon triggering a client resize"
This reverts commit
f3f29a0cf83412ae4f09fb1fbed065daca7c4047.
upon further review, this was not at all helpful and breaks resizing eventually
Simon Lees [Tue, 14 Jul 2015 17:07:18 +0000 (13:07 -0400)]
enlightenment_remote: restore compatibility with older versions with bg-add / bg-del
Summary:
older versions of enlightenment_remote had a additional first param that did nothing
this change detects if that paramater is still passed in and ignores it. There are
a couple of applications including variety that rely on this behavior as well as some
user scripts
Reviewers: zmike, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2813
Simon Lees [Tue, 14 Jul 2015 16:31:20 +0000 (12:31 -0400)]
remove unnecessary call to e_bg_del
I noticed e_bg_add calls e_bg_del so the additional call is not
required, it should also be noted the msgbus module doesn't call
this and works fine.
Reviewers: raster, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2811
Simon Lees [Tue, 14 Jul 2015 16:30:33 +0000 (12:30 -0400)]
e_bg_del should only delete the bg on the zone specified
Summary:
previously e_bg_del didn't take the zone paramater into
account
fixes T2572
Reviewers: raster, zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2810
Carsten Haitzler (Rasterman) [Sun, 12 Jul 2015 09:12:00 +0000 (18:12 +0900)]
e randr2 - auto clone and use common res when doing so - make it work
tested this and made it work. should fix T2100
Mike Blumenkrantz [Sat, 11 Jul 2015 12:37:56 +0000 (08:37 -0400)]
disable size debug on drags
Mike Blumenkrantz [Fri, 10 Jul 2015 20:59:47 +0000 (16:59 -0400)]
delete render updates for xwayland clients upon triggering a client resize
fixes frame dropping during resize
Mike Blumenkrantz [Fri, 10 Jul 2015 20:03:45 +0000 (16:03 -0400)]
only register dnd xwindow with compositor canvas in x11 compositor mode
registering it under wayland creates spurious mouse events
Mike Blumenkrantz [Fri, 10 Jul 2015 20:02:39 +0000 (16:02 -0400)]
fix xdnd in (x)wayland
this is a real thing, so don't abort immediately if it happens
Mike Blumenkrantz [Fri, 10 Jul 2015 18:21:50 +0000 (14:21 -0400)]
adjust layering of pointer and init splash
prevents cursor from getting stuck above screensaver fade
Mike Blumenkrantz [Fri, 10 Jul 2015 17:22:15 +0000 (13:22 -0400)]
add wayland client post-render references in the render loop
Mike Blumenkrantz [Fri, 10 Jul 2015 17:04:12 +0000 (13:04 -0400)]
add function to fill in x11 cursor image on creation
xwayland compositing requires that we set up a root window cursor image
immediately since we'll be getting that cursor surface to display as soon
as the pointer goes out of an x11 client's window
Mike Blumenkrantz [Fri, 10 Jul 2015 17:03:05 +0000 (13:03 -0400)]
break up some pointer setting code into helper functions
Mike Blumenkrantz [Fri, 10 Jul 2015 16:07:29 +0000 (12:07 -0400)]
always set x11 override client geometry on startup
this geometry isn't something we can change later, so apply it now.
also fixes an ACK when trying to show input_only clients early
Mike Blumenkrantz [Thu, 9 Jul 2015 23:32:51 +0000 (19:32 -0400)]
disable netwm sync on x11 clients in wayland compositors
this has no effect
Mike Blumenkrantz [Thu, 9 Jul 2015 19:11:13 +0000 (15:11 -0400)]
when e crashes in wayland, just crash instead of possibly freezing
Mike Blumenkrantz [Thu, 9 Jul 2015 19:01:50 +0000 (15:01 -0400)]
unify crash handler functions
Mike Blumenkrantz [Thu, 9 Jul 2015 18:42:55 +0000 (14:42 -0400)]
redo e_pointer to support xwayland cursors
this requires that both canvas cursors and window cursors be present for the same
E_Pointer object, even though only the canvas cursor is actually visible
#kansas
Chris Michael [Thu, 9 Jul 2015 16:37:42 +0000 (12:37 -0400)]
shot: Enable feature of taking just window shots in wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Wed, 8 Jul 2015 21:16:25 +0000 (17:16 -0400)]
return to using standard client util fns for getting client wins in x11
Mike Blumenkrantz [Wed, 8 Jul 2015 21:12:42 +0000 (17:12 -0400)]
remove unnecessary E_COMP_WL #defines
this is only required for aliasing E_Client->comp_data as wayland compositor data.
if comp_data is never dereferenced, it is not necessary to declare the compositor
type
Mike Blumenkrantz [Wed, 8 Jul 2015 21:11:16 +0000 (17:11 -0400)]
make wayland-specific shot protocol files conditional on wayland build
Mike Blumenkrantz [Wed, 8 Jul 2015 21:06:14 +0000 (17:06 -0400)]
remove NEED_WL define from some makefiles
this isn't a thing and I don't know why it's here
Chris Michael [Wed, 8 Jul 2015 19:41:23 +0000 (15:41 -0400)]
shot: Disable window shots in wayland for now
NB: Feature still being developed
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:22:08 +0000 (15:22 -0400)]
shot: Update with proper compositor checking tests
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:17:51 +0000 (15:17 -0400)]
remove old wl_screenshot module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:17:17 +0000 (15:17 -0400)]
remove wl_screenshot from configure.ac
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:12:44 +0000 (15:12 -0400)]
shot: Update shot module to now be able to take Wayland screenshots
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:07:49 +0000 (15:07 -0400)]
shot: Update shot makefile to include client screenshot protocol files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:06:09 +0000 (15:06 -0400)]
wl-drm: Add function to readback pixels for compositor screenshots
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:04:49 +0000 (15:04 -0400)]
e-comp-wl: Create compositor screenshooter global and add function to actually handle taking shots
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:03:16 +0000 (15:03 -0400)]
e-comp-wl: Add screenshooter structure to comp_wl_data and add additional fields we need in E_Comp_Wl_Output
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:02:59 +0000 (15:02 -0400)]
e-comp-wl: Add screenshooter files to build order
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 19:02:29 +0000 (15:02 -0400)]
shot: Add screenshooter client protocol files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 8 Jul 2015 18:59:52 +0000 (14:59 -0400)]
e-comp-wl: Add screenshooter protocol files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Wed, 8 Jul 2015 18:53:55 +0000 (14:53 -0400)]
fix wayland-only build
Mike Blumenkrantz [Wed, 8 Jul 2015 18:49:33 +0000 (14:49 -0400)]
remove NEED_X define from build
this used to be a marker for places where x11 functionality was needed,
but this has been simplified with the removal of wayland-only in configure
and so it is no longer needed
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