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
Mike Blumenkrantz [Fri, 19 Jun 2015 20:27:51 +0000 (16:27 -0400)]
add comp object bool flag to indicate whether a compositor effect is currently running
Mike Blumenkrantz [Fri, 19 Jun 2015 20:27:32 +0000 (16:27 -0400)]
make e_comp_object_effect_stop() return bool for object validity
Mike Blumenkrantz [Fri, 19 Jun 2015 20:25:33 +0000 (16:25 -0400)]
sanitize bool return of _e_comp_object_animating_end()
Mike Blumenkrantz [Fri, 19 Jun 2015 18:12:36 +0000 (14:12 -0400)]
only apply deskmirror client visibility logic for non-deleted clients
Mike Blumenkrantz [Wed, 17 Jun 2015 19:58:39 +0000 (15:58 -0400)]
return an accurate value for override clients in e_comp_object_util_zone_get()
Mike Blumenkrantz [Wed, 17 Jun 2015 19:55:57 +0000 (15:55 -0400)]
use current zone for visibility effects on override windows
Chris Michael [Wed, 17 Jun 2015 15:28:55 +0000 (11:28 -0400)]
e-comp-wl: #if 0 out a currently unused function for pre_frame assignment.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Tue, 16 Jun 2015 21:02:35 +0000 (17:02 -0400)]
remove a stupid elm win hack flagged for deletion
may trigger crashes on non-updated elementary
Yomi [Tue, 16 Jun 2015 20:10:21 +0000 (16:10 -0400)]
Fix misspellings in E's files.
Summary: Fix misspellings and spaces in E's files.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2676
Mike Blumenkrantz [Tue, 16 Jun 2015 19:51:14 +0000 (15:51 -0400)]
allow layer-blocked clients in deskmirror to restack
Toan Pham [Tue, 16 Jun 2015 19:07:40 +0000 (15:07 -0400)]
added quick tile to corner feature
Summary: added quick tile to corner feature, Fixes T2408
Reviewers: zmike
Subscribers: abyomi0, cedric
Maniphest Tasks: T2408, T2419
Differential Revision: https://phab.enlightenment.org/D2638
Toan Pham [Tue, 16 Jun 2015 18:28:32 +0000 (14:28 -0400)]
Center a dialog window when it is displaying off-screen
Summary: Center a newly created dialog window when it is displaying off-screen. Fixes T2419
Reviewers: zmike
Subscribers: cedric
Maniphest Tasks: T2419
Differential Revision: https://phab.enlightenment.org/D2646
Mike Blumenkrantz [Mon, 15 Jun 2015 20:59:48 +0000 (16:59 -0400)]
only play visibility effects for allowed clients
Mike Blumenkrantz [Mon, 15 Jun 2015 20:59:30 +0000 (16:59 -0400)]
add utility function for determining if a comp object should animate
Mike Blumenkrantz [Mon, 15 Jun 2015 17:52:57 +0000 (13:52 -0400)]
use new visibility effects by default for menu + combo windows
tooltip effects by default...probably too powerful for average users?
Mike Blumenkrantz [Mon, 15 Jun 2015 17:47:33 +0000 (13:47 -0400)]
send client/screen/pointer geometry to visibility effect edje
Mike Blumenkrantz [Mon, 15 Jun 2015 17:47:01 +0000 (13:47 -0400)]
unify comp object visibility effect animation code
Mike Blumenkrantz [Mon, 15 Jun 2015 17:44:47 +0000 (13:44 -0400)]
add flag for detecting whether an effect is currently set on a comp object
also improve refcounting for effect apis and add return values for use in
determining whether an effect was successfully set/started
Mike Blumenkrantz [Mon, 15 Jun 2015 17:41:42 +0000 (13:41 -0400)]
add flag to E_Comp_Object for detecting show animation state
this allows improvements to the code which provides hide animations,
allowing clients to begin hiding during their show animations instead
of rendering a black rectangle
Mike Blumenkrantz [Mon, 15 Jun 2015 17:35:34 +0000 (13:35 -0400)]
use a safe iterator when deleting clients during comp shutdown
it's conceivable that, were there a bug in client refcounting,
this could become an infinite loop and prevent shutdown/restart.
since, at this point, we don't really care about deleting anything,
ensure that the loop will end
Carsten Haitzler (Rasterman) [Mon, 15 Jun 2015 11:27:25 +0000 (20:27 +0900)]
e - e client, comp win etc. reffing fix ... part 2
this follows
56cabf59c672af27af87eda82079de4e2ee2d38e then
4e5521b4d82063a2fbf6632a117fda201cc1687d where i have been trying to
fix a crash with e client and comp win references etc. i have gone
over all referencing with a fine tooth comb and found all the nigglies
i can., no leaks now, no crashes, no valgrind complaints etc. so i
call this fixed now. as best i know this is new in e20, so not a
backport fix
Carsten Haitzler (Rasterman) [Sun, 14 Jun 2015 10:16:09 +0000 (19:16 +0900)]
e - bring back fullscreen crash bug while fixing refcount correctness
refs were inconsistent - thus this fixed the fullscreen quit bug by
never freeing a client. this brings the bug back by fixing this client
leak. i'll look again at this later.
Carsten Haitzler (Rasterman) [Sun, 14 Jun 2015 08:50:14 +0000 (17:50 +0900)]
e - fix crash in desktop lookup+fixup where exe_inst is null
Carsten Haitzler (Rasterman) [Sun, 14 Jun 2015 07:06:37 +0000 (16:06 +0900)]
e comp - fix refcounting for e_comp and comp clients
the refcoutning for e_comp and e comp clients seemed to be a bit off -
i read over every ref and unref carefully and fix it. this leads to
the com-_data being null (properly now), so now check for that too.
Carsten Haitzler (Rasterman) [Sun, 14 Jun 2015 06:01:44 +0000 (15:01 +0900)]
e - mixer - allow to 150% volume with some "stickynedd" from 100 to 120
Toan Pham [Fri, 12 Jun 2015 00:04:41 +0000 (20:04 -0400)]
fixed window focus and keyboard input issues
Summary: fixed window focus and keyboard input issues if the to-be-focused window is in an iconized state
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2644
Toan Pham [Thu, 11 Jun 2015 18:38:10 +0000 (14:38 -0400)]
Changed search pattern to focus window by name to case-insensitive.
Summary: Sometimes a window has a name that's not like the application name, for example. chromium-browser application will have a window name: Chromium-browser. Most users will try to match the window name with "chromium-browser", but it wont work b/c the e's window name match is case sensitive. Most users, would not know that the window name of chrome is "Chromium-browser", so it is pretty much impossible for them to setup a focus-to-window-name binding properly.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2645
Mike Blumenkrantz [Thu, 11 Jun 2015 16:47:04 +0000 (12:47 -0400)]
rename visibility effect struct member effect -> visibility_effect
feeble attempt at making future added effects more intelligible
Mike Blumenkrantz [Thu, 11 Jun 2015 15:35:44 +0000 (11:35 -0400)]
add compositor visibility effects and matching configuration
these are specific types of animation for use when toggling window visibility.
they combine with existing compositor window animations to provide nicer integration
for very specific types of windows
see https://www.youtube.com/watch?v=hIVdd0Z2K00 for a demo
Mike Blumenkrantz [Thu, 11 Jun 2015 15:33:45 +0000 (11:33 -0400)]
allow comp matching for UNKNOWN type windows
sometimes this is a valid type and we want to match it
maxerba [Thu, 11 Jun 2015 12:31:24 +0000 (14:31 +0200)]
Updating italian translation
Carsten Haitzler (Rasterman) [Wed, 10 Jun 2015 12:32:01 +0000 (21:32 +0900)]
e menu - an extra object ref causes menus to never be freed
this has been in e for ages - someone not noticed, but this fixes
visual artifacts of left over menus on the top-left. this extra ref
really makes no sense. it's not like this ref is then accomoanied by a
matching unref somewhere else (after much debugging).
@fix
Chris Michael [Tue, 9 Jun 2015 13:43:34 +0000 (09:43 -0400)]
wl-desktop-shell: Fix popup menu placement for xdg surfaces
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Carsten Haitzler (Rasterman) [Tue, 9 Jun 2015 08:22:40 +0000 (17:22 +0900)]
e - mixer - clean up popup a bit with mute next to slider etc.
Carsten Haitzler (Rasterman) [Tue, 9 Jun 2015 07:18:24 +0000 (16:18 +0900)]
e mixer - fix segv on desklock if default sink not set yet
Carsten Haitzler (Rasterman) [Tue, 9 Jun 2015 07:17:07 +0000 (16:17 +0900)]
mixer - dont make list scrollable horizontally for nicer look
Carsten Haitzler (Rasterman) [Tue, 9 Jun 2015 05:39:15 +0000 (14:39 +0900)]
Revert "Revert "fix mixer gcc class name""
This reverts commit
6bacf2070532d0bdf22afa4d303ac41a0ce52047.
oops - i was wrong. totally misread that patch i thinkg it changed
mixer -> emix