Mike Blumenkrantz
6272b85b49
implement action routing for wayland clients
...
this allows a wayland client to request that a given action name be bound
to the requested surface using a mode to restrict activation of the binding
modes include:
* shared
- activated when any surface from the client has focus
* topmost
- activated when the requested surface has focus and is the topmost client
* exclusive
- activated when the requested surface has focus; blocks other action routes
#SamsungFeatures
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-06-26 12:53:28 -04:00
Mike Blumenkrantz
63f3fe949c
block "user" client resizes during comp client updating phase
...
resizing objects triggers clip resizes and further event feeding which
can propagate mouse events such that clients try to resize themselves
during the update phase, resulting in illegal compositor behavior
2017-06-24 12:34:12 -04:00
Mike Blumenkrantz
0a67a96df3
Revert "block client mouse move calls from comp object during move/resize"
...
This reverts commit 4464c681fd
.
on the right track but not 100%...
2017-06-24 12:10:43 -04:00
Mike Blumenkrantz
4464c681fd
block client mouse move calls from comp object during move/resize
...
this is now handled by the event grabber. many callbacks on this
object are due to clip changes instead of genuine mouse movements,
meaning that processing events can lead to further resizes during a
render cycle
2017-06-24 11:57:15 -04:00
Carsten Haitzler
a9cd60fb90
e - remove doofus-like code from mike with regards to making e crash or not
2017-06-24 13:27:16 +09:00
Mike Blumenkrantz
aad74ea341
do not enable abort on critical in development builds for raster only
...
let's dispense with the new environment variables and workarounds and
avoid future conflicts with this efl-style problem solving
2017-06-23 18:23:42 -04:00
Mike Blumenkrantz
46fc9c0988
freeze client action event grabber stacking
...
ensure event stacking does not get modified by external handlers
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
8b8703cfa6
use safe list iterating when clearing a gadget site during shutdown
...
demo gadgets are immediately removed when deleted, leading to list
corruption unless a safe iterator is used
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
9fa3fdfc78
always grab input when showing a gadget wizard
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
be0015a283
hide gadget editor when dragging/wizarding a new gadget
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
11a6d7ae35
Revert "e - allow env var to turn off aborting at any CRI issue"
...
This reverts commit 62feb358e6
.
set EINA_LOG_LEVELS=e:0 or comment out code locally if you aren't interested
in helping to de-bug development builds
this is meant to be as convenient for users as disabling "core"
features in efl builds in order to deter them from disregarding bug
reporting
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
fd2817df4a
use seat0 as default seat name instead of default
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
7e6a2a9064
update gadget position during a resize from top/left edge
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
099e6e019d
reset demo gadget id before deleting gadget object during drop operation
...
ref 75224784bd
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
446860b68a
if gadget wizard returns a zero id, remove gadget from site and destroy
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
4c58940291
force horizontal orient for all gadget editors with orientation
...
vertical orient does not fit well into any list/grid widgets, not sure
if this can be further improved yet
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz
ebfb925a11
redo the gadget editor (again)
...
the list implementation had some issues with sizing and was also
inflexible and prevented a good display for desktop gadget sites
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
0180cef47d
do not attempt to pack cpumonitor into box in sysinfo mode
...
this causes an eo error
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
a441d4d22a
do not advertise luncher grid or sysinfo for gadget sites with orient
...
these are only feasible for non-bar sites
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
6a1d0226ed
allow gadgets to return a null object for demo objects
...
this indicates the gadget should not be advertised for the given demo
purpose
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
97c3db5ab1
ensure flag to preserve gadget editor is unset after setup
...
the first click on the desktop should always dismiss the editor if
a gadget is not being dragged
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
1b15a85d74
print object type if name is null during shape debug
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
2716802ec9
set pass events on shape debug rects
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz
62e1027509
try only 1 reconnect to pulse when mixer fails to init
...
this causes huge lag on failure with no termination case. if it fails
on the reconnect attempt then odds are it's never going to succeed
2017-06-23 17:49:43 -04:00
Derek Foreman
4879b340a2
Initialize the Evas_Native_Surface to 0 for dmabuf tests
...
ref e6f17dee5d
Should probably clear this one too, though the recent native surface api
changes won't cause any breakage here, future ones might.
2017-06-23 11:55:37 -05:00
Derek Foreman
5de9f0f8a3
Allow enabling experimental hardware plane support
...
Hardware plane support is inactive unless a scanout handler is set, this
patch adds a scanout handler and uses it when the env var
E_USE_HARDWARE_PLANES is set.
In the future this env var will go away when hardware plane support is
stable enough to enable it everywhere.
2017-06-23 11:54:08 -05:00
Derek Foreman
18fbd1da32
Don't delete busy E_Comp_Wl_Buffers
...
Hardware planes are going to make E_Comp_Wl_Buffer lifetimes harder to
manage, so we need to let the E_Comp_Wl_Buffer object outlive the
resource attached to it.
We already track a busy count, so we just have to use it to prevent
deleting a busy buffer.
2017-06-23 11:52:04 -05:00
Derek Foreman
acd0e4b036
Refactor wayland buffer releasing
...
This code should've been common but wasn't, so this might fix some
resource leaks.
2017-06-23 11:52:01 -05:00
Derek Foreman
e6f17dee5d
Clear the native surface structure before initializing it
...
Since the native surface "API" is isomorphic with pain and suffering, we
should be extra careful when we touch it.
2017-06-22 14:05:24 -05:00
Carsten Haitzler
62feb358e6
e - allow env var to turn off aborting at any CRI issue
...
some of these CRI logs are not wirth an abort... but mike seems to
think so... so i'm going to turn it off for me...
2017-06-22 10:34:16 +09:00
Carsten Haitzler
3e3b48478b
Revert "e comp object - stop being cricical where pixmap and win size dont match"
...
This reverts commit e288852393
.
Mike likes e to crash. :)
2017-06-22 09:23:14 +09:00
Carsten Haitzler
e288852393
e comp object - stop being cricical where pixmap and win size dont match
...
now i resize some windows and am in a white box of death each time...
this is really unfriendly... so downgrade to an err ad this is a
recoverable error.
2017-06-21 11:31:24 +09:00
Carsten Haitzler
655a8f3218
e start - remove mtrack ... no one using it (not even me)
...
:)
2017-06-21 11:27:50 +09:00
Mike Blumenkrantz
dae4bd6576
feed mouse-up to action client from event grabber, then attempt to end actions
...
signal actions don't pass through the same init methods as other actions, and
so it becomes possible for the mouse-up to fail to terminate the action
2017-06-19 15:26:34 -04:00
Mike Blumenkrantz
339cbde731
reject client mouse move if coords match previous position
...
ensure that random event feeds don't accidentally trigger unwanted
move/resize attempts which can break the compositor
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
bc175b0d7b
send version edje signal to ssd theme
...
allow enabling new theme features based on version
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
b58e380b19
simplify drm output update event by using randr screen refresh queuing
...
also moves all the output add/del into e_comp_wl
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
773122db66
store output subpixel value to randr2 screen data during drm init
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
d9c03f1059
use fake xinerama screens when initializing wl outputs
...
always ignore physical screens if fake ones are present
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
9f5a07d788
hook client object unref callback to cleanup comp object internals
...
ensure cleanup occurs before client object is freed
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
4933569bc1
don't null pointer after deleting internal win during wl delete request
...
this is invalid during a logout
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
5e7ca478d0
route all mouse movements to action_client during action grab
...
ensure client receives all necessary mouse events
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
b48419c577
only remove left/right maximize when removing vertical if left/right is set
...
avoid accidentally removing horizontal maximizes
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
c2e891bbf4
update wl_drm for recent efl_input_device api changes
...
@jpeg plz http://i1.kym-cdn.com/photos/images/original/000/312/563/05d.jpg
2017-06-12 05:48:32 -04:00
Mike Blumenkrantz
b4e96a0aea
feed mouse up during window maximize if the current window is being dragged
...
prevent window from accidentally toggling its maximize state repeatedly
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
7d39be8c4a
send nograb signal to ssd theme on creation
...
disable pointer grabs on ssd borders
edge bindings can now be triggered during window drags
fix T5552
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
f396d3fe42
re-enable zone edges during window_move action
...
this can now be sensibly handled without accidentally sending input to
every object on the canvas
ref T5552
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
d0f45a48a4
use event_grabber to simulate explicit grab during window move/resize actions
...
this grabs the client's frame as well as any existing edge objects during drags
ref T5552
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
b0a7c98faf
do not trigger events/bindings on zone object events with timestamp==0
...
these are internal event feeds and should not trigger additional actions
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
41a5fe2708
delete client raise timer when beginning a move/resize operation
...
this breaks things in subtle ways
2017-06-09 20:18:14 -04:00