Mike Blumenkrantz [Tue, 28 Jul 2015 16:31:22 +0000 (12:31 -0400)]
fix desklock-related screensaver modification
ref T2609
Mike Blumenkrantz [Mon, 27 Jul 2015 22:24:34 +0000 (18:24 -0400)]
ensure expected screensaver blanking in x11 compositors with HAVE_WAYLAND
Mike Blumenkrantz [Mon, 27 Jul 2015 21:32:11 +0000 (17:32 -0400)]
fix wl screensaver activation when deactivating during fade
Mike Blumenkrantz [Mon, 27 Jul 2015 20:54:31 +0000 (16:54 -0400)]
add dpms handling for wayland compositors
Mike Blumenkrantz [Mon, 27 Jul 2015 20:54:01 +0000 (16:54 -0400)]
add E_EVENT_SCREENSAVER_OFF_PRE
for hooking dpms changes which occur before animations play
Mike Blumenkrantz [Mon, 27 Jul 2015 20:48:19 +0000 (16:48 -0400)]
add wl_drm dpms setting
Mike Blumenkrantz [Mon, 27 Jul 2015 20:47:55 +0000 (16:47 -0400)]
add dpms method for E_Comp_Screen_Iface
Mike Blumenkrantz [Mon, 27 Jul 2015 19:54:15 +0000 (15:54 -0400)]
remove e_screensaver_force_update()
this was just used to set up x11 screensaver stuff, which has now been
relocated to the related comp_init function
Mike Blumenkrantz [Mon, 27 Jul 2015 19:46:57 +0000 (15:46 -0400)]
add functioning wayland screensaver support
block xscreensaver events, manage input<->activation eventing
fix T2525
Mike Blumenkrantz [Mon, 27 Jul 2015 17:25:01 +0000 (13:25 -0400)]
reject x11 NotifyVirtual and NotifyInferior mouse in events
these are triggered "in passing" when mouse in events occur and do
not necessarily indicate that the mouse has entered this specific window
failing to reject such events can cause mouse-based focus policies to
attempt to set focus onto windows which are not visible, resulting in
an infinite loop where no window is actually focused
Mike Blumenkrantz [Mon, 27 Jul 2015 17:23:13 +0000 (13:23 -0400)]
allow x11 mouse wheel events to check ev->event_window for possible client match
in the event that these windows are different, event_window is the parent of window
which may or may not be explicitly tracked by an E_Client, so the wheel events here
should be sent to the parent as is done in mouse button events
fix T2604
Mike Blumenkrantz [Fri, 24 Jul 2015 20:35:21 +0000 (16:35 -0400)]
apply csd sizing transform for wayland configure events
when not resizing, the sizes passed to configure should be based on the
window size and not the surface size. in order to calculate this, it's
necessary to keep track of the last-known window geometry for non-maximized
states and create offsets with which to calculate new sizes
this fixes directional maximizes as well as unmaximizing
Mike Blumenkrantz [Fri, 24 Jul 2015 20:34:18 +0000 (16:34 -0400)]
always send geometry to configure method for wayland clients when not resizing
failure to set this would lead to clients changing geometry when maximized while
focus state was removed
Mike Blumenkrantz [Fri, 24 Jul 2015 20:33:06 +0000 (16:33 -0400)]
do not send duplicate configures for wayland clients during maximize
this seems to not have caused any real issues, but it made debugging
more of a pain and is unnecessary connection noise
Mike Blumenkrantz [Fri, 24 Jul 2015 18:33:08 +0000 (14:33 -0400)]
fix client smart callbacks on (un)maximize
these should match the callbacks triggered for whatever the current
maximize state is
Mike Blumenkrantz [Fri, 24 Jul 2015 18:31:29 +0000 (14:31 -0400)]
add an actual module no-save blacklist
this should make it easier to keep track of modules that should be
blocked from having their load states saved
Chris Michael [Fri, 24 Jul 2015 17:16:04 +0000 (13:16 -0400)]
enlightenment: Remove static function prototype for unused function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Fri, 24 Jul 2015 17:12:20 +0000 (13:12 -0400)]
enlightenment: Allocate space for terminating NULL
Fixes CID1261289
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Fri, 24 Jul 2015 17:09:05 +0000 (13:09 -0400)]
enlightenment: Remove listener for XDnD status
As we don't do anything within this handler, having it is just
pointless. Remove it. Fixes Coverity CID1267214
Signed-off-by: Chris Michael <cp.michael@samsung.com>
maxerba [Fri, 24 Jul 2015 10:59:46 +0000 (12:59 +0200)]
Updating catalan translation
maxerba [Thu, 23 Jul 2015 21:09:17 +0000 (23:09 +0200)]
Updating italian translation
Derek Foreman [Thu, 23 Jul 2015 15:01:31 +0000 (11:01 -0400)]
wayland: fix key repeat
Summary:
wl_keyboard_send_repeat_info takes ints, not floats. We were rounding to
0 and weston-terminal didn't key repeat.
fixes T2597
Reviewers: devilhorns, zmike
Subscribers: cedric
Maniphest Tasks: T2597
Differential Revision: https://phab.enlightenment.org/D2859
Mike Blumenkrantz [Wed, 22 Jul 2015 21:55:30 +0000 (17:55 -0400)]
add a timer for wl client focus to delay held key input
this prevents keys from immediately being sent to newly-focused clients
and avoids the case of reverting focus from one app to another on keybind
close, only to have the second app also close immediately using the same keybind
Mike Blumenkrantz [Wed, 22 Jul 2015 21:46:39 +0000 (17:46 -0400)]
send wl kbd modifiers only when changes occur
Mike Blumenkrantz [Wed, 22 Jul 2015 21:38:40 +0000 (17:38 -0400)]
create/manage list of focused wl keyboard resources for reuse in kbd operations
this simplifies kbd code all over
Mike Blumenkrantz [Wed, 22 Jul 2015 21:10:49 +0000 (17:10 -0400)]
set new_client flag on xwl clients during swap
this forces another run of client placement so that xwl clients do
not always appear at 0,0
Mike Blumenkrantz [Wed, 22 Jul 2015 21:10:11 +0000 (17:10 -0400)]
remove unnecessary geometry setting during xwl client swap
this geometry will be applied during show
Mike Blumenkrantz [Wed, 22 Jul 2015 21:09:14 +0000 (17:09 -0400)]
set shell-less wl surface mapped state regardless of visibility during commit
new_client flag here will defer show operations, but the operations will complete
Mike Blumenkrantz [Wed, 22 Jul 2015 20:59:23 +0000 (16:59 -0400)]
update wl keyboard resource key presses on focus in/out of surfaces
Mike Blumenkrantz [Wed, 22 Jul 2015 20:28:48 +0000 (16:28 -0400)]
allow wl client focus-out callback to execute on deleted E_Clients
Mike Blumenkrantz [Wed, 22 Jul 2015 20:28:08 +0000 (16:28 -0400)]
don't update wl keyboard state on client focus events
this is always up-to-date
Mike Blumenkrantz [Wed, 22 Jul 2015 17:56:19 +0000 (13:56 -0400)]
fix backlight init value
in the case where xrandr is not used, setting backlight to very dim on init
will result in the backlight remaining at a very dim level when the backlight
normal level is 1.0 since backlight values will not successfully update until
at least 0.05s after the main loop starts
ref T1333
Mike Blumenkrantz [Wed, 22 Jul 2015 17:30:02 +0000 (13:30 -0400)]
fix compositing error when client is ec->hidden during show animation
this prevented clients from being deleted and resulted in artifacts and
memory leaks
Mike Blumenkrantz [Wed, 22 Jul 2015 16:54:20 +0000 (12:54 -0400)]
simplify deskmirror client desk checking
Mike Blumenkrantz [Wed, 22 Jul 2015 16:24:35 +0000 (12:24 -0400)]
fix wl build
Mike Blumenkrantz [Tue, 21 Jul 2015 22:24:39 +0000 (18:24 -0400)]
simulate modal windows for badly behaved x11 clients
it seems that some clients, eg. libreoffice, don't set the modal window
property on child dialogs. instead of fighting for focus, set up the child
as a modal on the parent and then avoid the whole issue
fix T2594
Mike Blumenkrantz [Tue, 21 Jul 2015 19:33:50 +0000 (15:33 -0400)]
don't block keybind activation while grabs are active
Mike Blumenkrantz [Tue, 21 Jul 2015 18:34:11 +0000 (14:34 -0400)]
ensure clients possess comp_data before dereferencing it during x11 stacking
ref T2566
Mike Blumenkrantz [Tue, 21 Jul 2015 18:27:29 +0000 (14:27 -0400)]
redo wl compositor key eventing
* break out key callbacks into EINTERNs
* remove extraneous/unused mouse event handlers
* enforce wl modifier updating in all cases
* ensure keybinds are activated before wl clients receive input
- block wl client input during grabs
fixes T2565
Mike Blumenkrantz [Tue, 21 Jul 2015 18:25:41 +0000 (14:25 -0400)]
do not add x11 compositor desklock hooks in non-x11 compositor
Mike Blumenkrantz [Tue, 21 Jul 2015 18:25:16 +0000 (14:25 -0400)]
add wl compositor desklock hooks to add grabs during lock
Mike Blumenkrantz [Tue, 21 Jul 2015 18:21:36 +0000 (14:21 -0400)]
add clients to focus stack as necessary in e_client_unignore()
Mike Blumenkrantz [Tue, 21 Jul 2015 18:21:07 +0000 (14:21 -0400)]
always stop passing key events on once they reach the lokker callback
Mike Blumenkrantz [Tue, 21 Jul 2015 18:15:08 +0000 (14:15 -0400)]
do not attempt to remove wl xdg popup clients from focus stack
these have never been added to the focus stack, so removing them is useless
Mike Blumenkrantz [Tue, 21 Jul 2015 18:13:55 +0000 (14:13 -0400)]
do not block winlist activity based on event window in non-x11 compositors
fixes winlist interaction in wayland
Derek Foreman [Tue, 21 Jul 2015 16:23:08 +0000 (12:23 -0400)]
shot: Skip the wayland setup bits when running under X
fix T2592
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2851
Chris Michael [Tue, 21 Jul 2015 13:03:59 +0000 (09:03 -0400)]
desklock: Fix T2589: Screen Lock crashes in E
Don't call ecore_x functions unless we are using an X11 compositor.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Mike Blumenkrantz [Mon, 20 Jul 2015 21:26:13 +0000 (17:26 -0400)]
fix typo in comp object opaque region render
#DerekWasRight
Mike Blumenkrantz [Mon, 20 Jul 2015 18:38:44 +0000 (14:38 -0400)]
move opaque region (image border) apply to render fn
this seems to provide a more accurate region for rendering in my tests,
as various weston-apps no longer show black rects during resize
Mike Blumenkrantz [Mon, 20 Jul 2015 18:38:31 +0000 (14:38 -0400)]
don't mangle wl client opaque region tiler during commit clip
Mike Blumenkrantz [Mon, 20 Jul 2015 18:10:55 +0000 (14:10 -0400)]
improve wl compositor tiler usage
pixman <-> tiler api naming seems similar but functionality is totally
different
Mike Blumenkrantz [Mon, 20 Jul 2015 17:32:06 +0000 (13:32 -0400)]
only perform keybind grabs on root window for x11 compositors
Mike Blumenkrantz [Mon, 20 Jul 2015 17:26:09 +0000 (13:26 -0400)]
block compositor keybinds using more accurate x11 detection
blocking based on event window here is only valid for true x11 compositors
and not just compositors with root windows
fixes keybind activation when running xwayland clients
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