Commit Graph

11992 Commits

Author SHA1 Message Date
Mike Blumenkrantz 541c30b3c4 set gadget recalc immediately when not in canvas smart calc 2017-08-03 11:52:18 -04:00
Mike Blumenkrantz a9f6017209 Revert "reset comp object update regions when a render occurs"
This reverts commit e6ab84ffd5.

fix T5817
2017-08-03 11:39:02 -04:00
Marcel Hollerbach 5820015f77 e_startup: check for efreet errors
for the case efreet does not come up with any event, give a error to the
  user
2017-08-01 22:55:46 +02:00
Carsten Haitzler 3051df7fee gadget recalc - if you add a job...del and add again
if you add a job to do things like defer a calc till later in the loop
(or if later in size calc - it'd be the next loop run after rendering)
... then del the previous job and add a new one. why? order of
operation. if you add job a... because of event a, then add job b,
because of event b ... if for whatever reason, event a happens again
and you skip adding job a... job a will run before jbo b, even though
the LAST event is later and that 2nd event a may relay on event b
state/calculations. so always del then add to ensure then that job a
happens ater b if this scenario happens. it just leads to fewer
surprises and weird issues.
2017-07-31 17:41:35 +09:00
Carsten Haitzler d870549c0f e - fix eet image format test to actually use key when loading
fix complaint from eet format test ... was failing because we didnt
use a key

@fix
2017-07-30 22:55:19 +09:00
Mike Blumenkrantz ab328c6512 implement support for wl aux hints
this is a direct copy of a feature from tizen git with no modifications other
than what was required for compilation and functionality

https://git.tizen.org/cgit/platform/upstream/enlightenment/commit/?id=8ea090222cee86b57e54f1444c5b63252380fba5
https://git.tizen.org/cgit/platform/upstream/enlightenment/commit/?id=2c5593325c3f32efa92da3c371a780e434a30efd

fix T5780
2017-07-28 15:45:01 -04:00
Mike Blumenkrantz 0b887245cc remove left/right maximize before removing vertical maximize
ensure maximize states are removed accurately and in the right order

ref b48419c577
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 23613b3ded set client opacity any time netwm hint has changed in fetch
fix T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 096c6b4090 continue to fetch netwm opacity hint if it changed since the last fetch
some apps (e.g., wine) do not trigger any event when changing this property,
and they use the property in order to simulate window fade in/out

ref T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 5702f0975e reset comp object update regions when a render occurs
allow saving the current update regions in case evas decides not to render
this object
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz fac907e0c5 handle updates_full when adding comp object update regions
this flag means that the entire surface should be redrawn

ref T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 596e48d066 use ecore_x_netwm_opacity_get() for x11 opacity checking
this makes the check for opacity more accurate since it returns a bool
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz ae748e6487 return updates_full state from e_comp_object_damage_exists() 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz a1e9b9bf0f show clients immediately after pixmap refresh if visibility is pending 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 2f2075f588 remove tooltips from desktop gadget editors
this looks bad?
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d2cdde01d1 set max size hint on desktop gadget editor gadgets when editor is resized
ensure that the gadgets size based on grid item size
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 4ce460525c return immediately when setting a null gadget style if current style is null 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d216cce6eb use zone size for un-oriented new gadgets
this is a relative size which I set based on zone size, so avoid the
possibility of using unsized site geometry
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 9eed5f49a8 abort gadget site layouts if the gadget site has not been sized
this triggers infinite loops, and a resize on the site will trigger a layout
automatically
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 3e982446ec trigger gadget site recalc job if gadget object hints change 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz cd6fc802e9 defer setting recalc on gadget sites
if this is set during a smart_calculate() call then it will potentially
loop forever
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz c648ae4048 make gadget resize anchoring able to omit axes
when grabbing e.g., the top center of a gadget, it feels better to just
have that resize perform vertical adjustments instead of also allowing
horizontal changes
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz b3c6a4e184 position desktop gadgets more accurately during resize
do resize before altering position to ensure positioning feels smooth
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 39b1e09662 apply gadget aspects with greater precision
aspect ratio is not an integer, rounding it prematurely loses precision
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz aae2f42726 break out gadget aspecting into separate function 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 2675422e9d ignore desktop gadget editor keybinds while editor is hidden 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 3bda41f895 reject invalid comp object resizes
interceptors are called before any of the normal evas object geometry
validations, so ensure that invalid sizes are not applied
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 5ddb8779e2 focus x11 root window on init when starting with xwayland
comp canvas does not have a valid xwindow and is unfocusable
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 04ef45f55d add special case for xwl-originating drags to set dnd actions
there are no protocol methods received for setting actions, so fill them
in from the xwl source
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz def1b28174 save xwindow of x11 selection owner, not client
gtk uses non-application xwindows for managing selections, so this would always
fail when bridging selections from gtk apps
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d33351e653 remove wl focus check function
idk what this was for but it was wrong
2017-07-28 15:44:55 -04:00
Carsten Haitzler d7b2d6c496 randr - discovered new output names that are display panels in laptops
add to the list like lvds, edp etc. ... adding DSI/dsi
2017-07-27 14:30:53 +09:00
Mike Blumenkrantz 2b50b69448 Revert "only do configure for wl clients in commit when a buffer is attached"
This reverts commit 9dcc4f632f.

this breaks some corner cases, must investigate further...
2017-07-24 13:24:56 -04:00
Mike Blumenkrantz 9dcc4f632f only do configure for wl clients in commit when a buffer is attached
a null attach does not require a resize, only a hide
2017-07-24 08:26:59 -04:00
Mike Blumenkrantz b472a11f84 ignore wl client ssd mouse events for windows without ssd
ref T5770
2017-07-24 08:12:54 -04:00
Mike Blumenkrantz 4a766e9e2f Revert "e comp - stop trying to set size again and again to the same"
This reverts commit 6e882d2e4f.

this is identical to cd3490f35c which was
also reverted.
2017-07-24 08:12:51 -04:00
Carsten Haitzler 358f154b83 e powerrsave sleep - add fd get
i could have sworn i added this... i swear i remember adding the fd
get line... how did it not make it? this is odd. well add it and fix
my spining cpu issue after moving to select to fix pipe wait not being
threadsafe.
2017-07-23 17:28:53 +09:00
Carsten Haitzler 6e882d2e4f e comp - stop trying to set size again and again to the same
i found e spinning at 100% just with 1 windows in wayland... open 2
terminology wins and move mouse form one to the other... 100% cpu. e
was moving seemingly a cursor client window? to the same coord again
and again as it was hidden...

this fixes that. no more spinning cpu
2017-07-23 00:19:51 +09:00
Carsten Haitzler 70d08a770e powersave sleep - use fd's and seletc. ecore pipe cant be used 2017-07-22 22:43:51 +09:00
Marcel Hollerbach 3c106c6b81 meson: we need -rdynamic here not -export-dynamic
this is passed to the compiler not linker, so we need to tell the
compiler to pass that to the linker.
2017-07-22 10:43:13 +02:00
Mike Blumenkrantz 263ee54545 rename bg_blank_object -> resize_object for a more accurate name 2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 35b1d20b81 destroy desktop gadgets when the parent zone is removed 2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 23c473db7b resize comp bg_blank_object on zone update
various things hook this to check when the compositor is resized
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 0d85c2c5a1 rework internal win centering
call resize before attempting to center to ensure accurate positioning
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz e184ffd49f do not use elm api to unset centered flag during resize
this triggers a full eval which resizes the window and breaks the compositor
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 24ae5b53fb perform immediate move on bryce during autosize
ensure that positioning doesn't animate across zones and break config

fix T5666
2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 213618b762 do not set e_comp log level 2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 6928ca8ce4 pass screen id when opening config dialog with ASK hotplug policy 2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 48a7181089 add a configurable default policy (default: extend) for screen hotplugging
make an effort to "just work" instead of the classic enlightenment ux of being
as annoying as possible

ref T5707
2017-07-21 14:42:29 -04:00
Mike Blumenkrantz e65c64ff63 use 1 second for screen config apply delay
I want my life back from all this time spent waiting...
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 449f12e62f move x11 randr defines to e_comp_x_randr.c 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz e8dc71cd48 meson. 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 4d3e157b30 hide pointer cursor clients when unsetting them
ensure the pointer remains hidden even if the client does not unmap its surface

 #TheDisappointer
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 66e95311ff only map wl pointer clients if they are the active cursor
ensure cursors which are randomly committed when not being used as
a cursor (e.g., all efl wayland cursors) are not shown

 #TheDisappointer
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 3055c0ecae remove wl screenshooter protocol
this should never have existed, as it makes no sense for a compositor to
use protocol in order to allow itself to take screenshots
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 4ec22df15f check for different types of load errors during startup image load tests
in the case where files are not found (possibly not installed/corrupted),
attempt to continue starting and not brick a running session
2017-07-20 17:18:33 -04:00
Carsten Haitzler e38ac79a3c pointer freeze - delay by 10 sec... because anim is used for hiding
this broke pointer hiding entirely... fix
2017-07-19 10:31:29 +09:00
Derek Foreman 4077b3ce59 Don't block wayland client updates during screen saver fade out
We stop allowing client updates when the screensaver is on to save power,
however this happens at the start of the fade-out.  On wayland this stops
any visible client change.

If we wait until after the canvas is set to manual render instead then
we get similar benefit but don't lose display updates while they're
still visible.

Fix T5714
2017-07-18 15:17:05 -05:00
Mike Blumenkrantz 859d129edd fix E_API definition
last of the bad refs I think?

ref f8de1a3f88
2017-07-17 11:05:15 -04:00
Mike Blumenkrantz ea502c5e2b reduce include deps for enlightenment_thumb binary 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz f8de1a3f88 reduce include deps for enlightenment_imc binary 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 4b4b003245 toggle NOGRAB on client input rects during move operations 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz a1d62d01e8 handle multiple input regions for csd clients 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 0912906ea1 Revert "handle multiple input regions for csd clients"
This reverts commit 950bee7ce4.

accidentally pushed wrong ref, multiple incomplete broken commits were
merged

:(

fix T5739
2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 219b25aff4 Revert "toggle NOGRAB on client input rects during move operations"
This reverts commit 8af555cae0.
2017-07-17 08:14:24 -04:00
Carsten Haitzler e130557be7 Revert "reduce include deps for enlightenment_imc binary"
This reverts commit ee71ea63ec.

Revert "reduce include deps for enlightenment_thumb binary"
This reverts commit cce14fa839.

both of these i reverted.... because they both CHANGE the define of
E_API like:

and this is wrong. e.h defines this so that these symbols are exposed.
E_API, EAPI and friends are desighned to explicitly expose symbols.
because if you try and make STRICTER binaries that only have symbols
for what was EXPLICTLY exposed like the CFLAG -fvisibility=hidden ...
then any api not explicitly marked with the attribute of visible which
that E_API macro is intended for... will be invisible. it will not
exist. this means a whole MOUNTAIN of modules stop loading as they
can't find these symbols. E_API isn't just source sugar tagging. it's
actually functional. i'd suggest using -fvisibility=hidden in your
CFLAGS by default. it's also not always portable between all compilers
so beware... (it was introduced years ago in gcc... i think clang
offers it. i don't know about icc or any others).

so since E_API is defined in e.h ... we may as well keep the e.h
include there instead of hand re-writing a list of includes. does
reducing the include deps really have an impact worth talking about on
compile time? the commit logs didn't say. but it does break module
loading and does it by adding lots of lines of code that are far mroe
easily broken now (this is an examplt). :)
2017-07-15 10:13:21 +09:00
Mike Blumenkrantz 327b69015b make efm build without elm includes 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz c809f8b72d split macros out of e.h into separate file 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4b656d59c9 bump E_VERSION_MAJOR
should have been done a while ago
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz bc294e9bce remove unused Evas.h include from e_fm_ipc.c 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz ad56e78872 only store the compositor's own data manager resource to e_comp_wl->mgr.resource 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz cce14fa839 reduce include deps for enlightenment_thumb binary 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz ee71ea63ec reduce include deps for enlightenment_imc binary 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz a57e39a5ea fix e_alert build with wayland only 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 94633fbde1 fix wayland-only build 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 16378acfd2 remove unused defines 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 9173deb1fc remove egl from build
not needed
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 6630e602a9 save config after clearing desktop gadget site 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4a12f5c3f2 use correct key name for BackSpace in desktop gadget key handler 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 03325b0195 always check for autoclose object when adding gadget objs to edit grabber
ensure popups can be closed as expected during editor operations
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 02b3755828 hide gadget editor if gadget triggers a popup
show again when popup is hidden
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 35f4bc1cdc add better handling for interacting with gadget popups while editor is up
includes gadget wizards

ref T4648
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 5e7e38d2c4 don't close gadget editor if ON_HOLD is set or click is not button 1 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4e8836e591 prune unconfigured gadgets from comp object sites upon site del
automatically created sites shouldn't trigger wizards upon show
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 3da7e0d1e0 freeze pointer animations while screensaver is active 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz c895a7fae5 freeze edje during dpms 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 74613ff0fd only set qt theme override env vars if option to do theme matching is enabled 2017-07-14 18:40:50 -04:00
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