Mike Blumenkrantz
b7776798c7
don't attempt desk flips from client move handler
...
this should be handled by normal zone handlers now
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
8af555cae0
toggle NOGRAB on client input rects during move operations
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
950bee7ce4
handle multiple input regions for csd clients
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
664c3dc468
move gadget del callbacks to AFTER priority
...
ensure gadget internals have longer lifetime than external callbacks on
gadget objects
ref 27091c510c
fix T5601, T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
8e54684a2e
delete gadget editor site when editor is deleted
...
leak--
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
415a94b987
unpack gadget from site editor box on content_item del
...
the gadget should be deleted by the site, not by the gen(list|grid)
ref T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz
59b14a4ace
unset gadget site's layout pointer after destroying gadgets
...
ensure this persists through gadget del callbacks
ref T5693
2017-07-14 18:40:50 -04:00
Derek Foreman
98f4336fcd
Fix clamping on screen blanker timeout
...
commit f43d2b881c
added the ability to set screen blanker timeouts as low as 6 seconds,
but E still clamped to 30 seconds when loading config.
2017-07-14 11:10:06 -05:00
Carsten Haitzler
f43d2b881c
e blanking - add new special "locked timeout" that can be shorter
...
this allows you to have a different timeout when locked thats much
shorter to save screen/power more unless you log in.
@feature
2017-07-14 09:43:29 +09:00
Carsten Haitzler
c58bf393e0
mouse hiding - only grab pointer not pointer and keyboard - simple
...
dont need kbd grabbed at all. just pointer.
2017-07-12 10:45:50 +09:00
Mike Blumenkrantz
76484915e2
always perform initial input ungrab when waking screen
...
in the case where the desklock timer was longer than the blank timer,
this would permanently break input
input is still broken for the duration of the screen blank animation and
any time the screen is blanked
2017-07-11 15:04:22 -04:00
Mike Blumenkrantz
05a8df3d1a
do not perform input grabbing during (un)blank if pointer will not animate
...
if the pointer will not animate, input will never ungrab
this commit still breaks input. do not use.
2017-07-11 15:03:55 -04:00
Mike Blumenkrantz
031d64c2ec
Revert "Revert "move x11 suspend window grabbing to comp_x, ungrab on resume""
...
This reverts commit e90f63b25b
.
move back to comp_x, put back grab on resume.
input is still broken with this commit, do not use.
2017-07-11 15:03:55 -04:00
Carsten Haitzler
c13fa73866
e - make some comment notes on broken lock display on saver etc.
...
we have some visual glitches i'm on a mission to fix... and the above
is one of those. timeout for lock should begin after screen has gone
black first.
2017-07-11 16:57:14 +09:00
Carsten Haitzler
3fc786413c
e - fix desklock + grabs with hiding pointer on screen powerdown/up
2017-07-11 16:57:14 +09:00
Carsten Haitzler
e90f63b25b
Revert "move x11 suspend window grabbing to comp_x, ungrab on resume"
...
This reverts commit 7bc179da5a
.
this now totally broke the glitch fix and it now animates in reverse
on suspend and does nothng on resume... testing might be a good idea
beforehand...
2017-07-11 09:00:05 +09:00
Mike Blumenkrantz
7bc179da5a
move x11 suspend window grabbing to comp_x, ungrab on resume
...
ref d0c5fb465b
2017-07-10 09:49:34 -04:00
Carsten Haitzler
d0c5fb465b
support connected standby (non-s3 sleep/freeze) that new lpatops sport
...
this requires we have to force dpms on to reduce power. to avoid
glitches with the pointer staying around in x we need to support
suspending it too so it hides cleanly like the screen dims or undims.
also use the new powersave freeze mode to do this.
note that i've tested this on s3 supporting laptops and non-s3 and it
"works for me". it may require more testing and work. there is more to
power saving than just this as well but for now that's out of scope as
you have to mess with linux device autosuspend timeouts and a bunch
more (wowlan ... blahblah).
i need to find the source of the intermittent wakeups too in e. there
is a long lived timeout (8-ish seconds?) but more specifically e keeps
waking up from fd's and then reading /sys stuff about battery - some
event is causing us to do this... maybe to suspend this or make
battery checking very rare when in freeze mode (or screen off) etc.
so this fixes some glitches as well as supports a new way of sleeping
"alive" when hardware literally doesnt support normal s3 sleep... so
kind of a fix with a feature.
2017-07-10 10:18:50 +09:00
Carsten Haitzler
7caf5c8ff4
add new powersave features for supporting a live sleep mode
...
so new laptops now seem to no longer support S3 sleep. sleeping is
done basically by going as idle as possible. you can ask the kernel to
freeze execution BUT this seems to use about the same power as staying
alive in my tests. to support this add 2 things:
1. a FREEZE powersave mode which implies we're alive but want to
really stay as idle as absolutely possible.
2. powersave aware sleep functions that replace the usleeps in threads
so they can switch from being super sleepy when in freeze mode to
normal.
2017-07-10 10:18:50 +09:00
Amitesh Singh
b88059b91a
e widget entry: fix the compilation warning
...
src/bin/e_widget_entry.c:269:16: warning:
unused variable ‘text’ [-Wunused-variable]
2017-07-08 22:23:22 +09:00
Mike Blumenkrantz
ac8a9fc2f0
don't set E_Client->want_focus for wl overrides with parents
...
all input for these goes to the xwl resource anyway, let parent get focus
ref 69c85fc1aa
2017-07-07 16:26:28 -04:00
Mike Blumenkrantz
4d92808e65
use kbd focus resource's client instead of "focused" client in data device
2017-07-07 16:26:28 -04:00
Mike Blumenkrantz
84e9118c9f
don't reject internal wl selections based on serial value
2017-07-07 16:26:28 -04:00
Mike Blumenkrantz
a142a7eb80
focus comp canvas's client when no real client is focused
2017-07-07 16:26:28 -04:00
Mike Blumenkrantz
1b6ccd5aa8
add handler to catch (new) fake elm win wl2 window client
...
now the compositor canvas has a wl2 window
2017-07-07 16:26:28 -04:00
Mike Blumenkrantz
b008dce0a0
add "focus" mode for render debug
2017-07-07 16:26:28 -04:00
Derek Foreman
c0751ef3eb
Make wayland clients render when only visible from mirrors
...
Under some circumstances we can defer frame callbacks forever for clients
that are only visible on desk mirrors.
I'm not certain those circumstances should actually occur (Ref T5678) but
at least for now this is a trivial and harmless workaround.
Fix T5654
2017-07-06 15:40:59 -05:00
Carsten Haitzler
ea89d44ef4
e - fix entry wrapper - e entry was plain. elm is markup. do it properly
...
convert to/from utf8 plain/markup in e widget entry wrapper.... this
fixes broken results if you enter escapable text like " or < or > or &
... etc.
@fix
2017-07-03 19:19:55 +09:00
Mike Blumenkrantz
af60915713
add function for a gadget to remove itself
2017-06-30 17:03:24 -04:00
Mike Blumenkrantz
c109e2d6a6
save gadget site config when deleting gadget after wizard failure
2017-06-30 17:03:24 -04:00
Derek Foreman
034211051b
Remove some duplicate dmabuf validity checks
...
These have been moved into EFL where they belong.
2017-06-30 14:51:05 -05:00
Derek Foreman
cb83120863
Remove old test for dmabuf validity
...
EFL now sets image load error for native surface set, so this hack is
no longer required.
2017-06-30 14:51:05 -05:00
Mike Blumenkrantz
5df53cec7b
process screen events in wl when using fake screens
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
43dea93969
handle rotations with fake xinerama screens
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
789eccf12f
try redirecting failed clients again during resize
...
it seems like this is a good place to try, and this seems to resolve
some render updating issues on restart, such as with maximized chrome
windows
ref T5599
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
44693a1852
only unredirect clients during comp update after 3 failures
...
tfw your conditional is backwards
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
07d4f3bcf6
don't call comp object cleanup functions for clients without comp objects
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
fea11b1621
don't run x11 focus (un)set callbacks for override clients
...
this is unnecessary in x11 and broken in xwayland
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
836845a615
use xwayland check for clients when checking whether to reset focus to root
...
checking base pixmap returns false for xwayland clients
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
69c85fc1aa
only set E_Client->want_focus for wl override clients if not popup client
...
do not attempt to focus popups as they are already child windows and thus
do not require keyboard focus
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
b183e001a1
make e_comp_object_frame_allowed() return false for ignored clients
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
d0accb8e52
block pointer warping on override clients
...
this is never okay
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
42523d27f0
multiply pointer axis values by 10 for wl clients
...
wayland clients expect this multiplier, so now scrolling speed should be
back to normal
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
89aa89f3a6
use event grabber for gadget editors to improve event detection
...
fixes some cases where clicking the background didn't dismiss the editor
and allows for clicking on non-gadget parts of the editor
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
809a3492ae
unset gadget editor pointer on editor delete
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
4f77573e6c
perform move after resize during comp object show
...
in the case where an object is being shown before it has been moved or
resized, a move operation will trigger a series of callbacks which force the
compositor to attempt an illegal operation (recursive show before resize)
fix T5521
2017-06-30 10:25:17 -04:00
Derek Foreman
e26f2a12f5
Test dmabuf via native_surface_set even in software render
...
This is necessary to verify the the attributes struct is the same
version EFL can process, before we commit to displaying it.
@fix
2017-06-29 16:01:56 -05:00
Mike Blumenkrantz
bb1d7790b0
force shape queue when adding/deleting action client event grabber
...
ensure that this is normalized to provide consistent behavior before
and after actions begin/terminate
2017-06-26 14:48:03 -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
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
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
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
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
Mike Blumenkrantz
9f48fd5a9c
perform client raise before triggering move/resize BEGIN client hook
...
hooks may further modify stacking, so ensure any changes are done before
that point
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
58226266fd
store current pointer client into pointer struct
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz
bf157e03dc
another fix for e_comp_wl->ptr.x/y coords being wl_fixed instead of ints
...
ref 2c7e91d38f
2017-06-09 20:18:13 -04:00
Derek Foreman
2bd4a9dc85
clean up some code
...
remove write-only variable in the pixmap struct
2017-06-07 12:12:16 -05:00
Derek Foreman
b37acd6e39
Revert "Stop misuing EVAS_NATIVE_SURFACE_VERSION macro"
...
This reverts commit 4a40614f2f
.
Apparently this macro is unlike similar macros in other libraries
that have more sensible semantics.
2017-06-06 16:42:01 -05:00
Derek Foreman
4a40614f2f
Stop misuing EVAS_NATIVE_SURFACE_VERSION macro
...
We should be stating the version the code supports, not the version
that the EFL version we compiled against supports.
2017-06-06 16:28:20 -05:00
Derek Foreman
52c379f4b2
Remove some duplicate operations
...
the native surface version was set outside of the switch statement,
so we don't need to re-set it to the same thing here.
2017-06-06 16:28:20 -05:00
Mike Blumenkrantz
1f2b95ae4f
use FOREACH_SAFE when walking client list during logout
...
internal clients can be instantly destroyed and removed from the list
2017-06-02 15:46:26 -04:00