Commit Graph

401 Commits

Author SHA1 Message Date
Mike Blumenkrantz 6ee841ecd5 use xwindow check to determine whether to check icccm accept/take focus attrs 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 65fe42fdef avoid object hide animations during shutdown 2017-08-11 18:48:49 -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
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 ae748e6487 return updates_full state from e_comp_object_damage_exists() 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 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 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
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 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
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 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
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 b183e001a1 make e_comp_object_frame_allowed() return false for ignored clients 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
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 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
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 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 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 c6a0abc763 force client pixmap refresh immediately during resize if nocomp is active
in the case where this path was reached during x11 nocomp, the client's pixmap
refresh would be deferred until the end of nocomp, even when the refresh would
otherwise end the nocomp. instead, force the refresh immediately.

fix T4887
2017-05-24 10:10:07 -04:00
Mike Blumenkrantz effbb81722 remove check for desklock in comp object autoclose handler 2017-05-12 12:08:37 -04:00
Mike Blumenkrantz de0b9edee0 better handling for iconify during comp object show/hide
in the case where effects are disabled, no animation is started for iconify
operations, so this should fall through to the normal hide/show paths

ref T5444
2017-05-01 13:26:11 -04:00
Mike Blumenkrantz 7172239c0c make RENDER_DEBUG activate with E_RENDER_DEBUG env var
this is useful for debugging and the option to recompile is not always
available
2017-04-14 11:48:43 -04:00
Mike Blumenkrantz 1a8207ce70 support clients as positioner objects in e_comp_object_util_center_on() 2017-04-07 16:08:37 -04:00
Mike Blumenkrantz ef3260a799 only center internal windows once
these shouldn't re-center on every resize
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz e1ed56c327 account for late object setup when adding ssd mouse in/out callbacks
internal windows have a different setup order in which the frame is created
before any of the other internal objects in a comp object
2017-03-17 18:47:09 -04:00
Mike Blumenkrantz 7f142f31f5 use even more accurate wl callbacks for detecting ssd mouse in/out events
ensure that any wl client with ssd hits the ssd mouse eventing path
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz 89ea040222 only re-set comp object position during show if client has been placed
avoid accidentally placing an unplaced client
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz fece2ab5bf return during comp object pixels function if client was deleted during render 2017-03-10 15:55:06 -05:00
Mike Blumenkrantz f2c1976e9a do not force comp objects to render for their proxies if real_hid is set
this flag indicates that the object cannot be rendered
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz e3a5ab1457 Revert "e - wl mode - stop consuming 100 percent cpu"
This reverts commit cd3490f35c.

this breaks many windows by preventing deferred resizing from occurring.
a window which is unable to resize at the time of this call must be queued
for a deferred resize, otherwise it may never resize at all and thus will
never be rendered

test case: screenshot dialog
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz e618e00297 better protect comp object internals from dereferencing freed clients
animating comp objects persist after the lifetime of their client, so
ensure that functions which are likely to be called after the client's free
will not attempt to access client struct members
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz 54dfcea3e0 comment out inlist member of E_Comp_Object struct
this was unused
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz e56f689fad show already-visible comp util objects when changing frame type
ensure internal clipper state matches object visibility state
2017-02-24 14:15:38 -05:00
Carsten Haitzler d8e639a9ea e comp object - fix warning where a void cast is as goos as the old one
we did cast to Evas_Native_Surface * but this just causes warnings due
to the input ptr being char * from memcup. as this will be aligned due
to allocation, we're ok, so use a void * cast instead
2017-02-12 16:25:35 +09:00
Mike Blumenkrantz 476305563c always set E_Client->placed when successfully moving a comp object
enforce this for all cases
2017-02-10 17:24:13 -05:00
Carsten Haitzler cd3490f35c e - wl mode - stop consuming 100 percent cpu
so on 1 intel laptop and my rpi i'm seeing 100% cpu usage in wayland
mode. it seems something is resizing to 0x0 and then causing a size
change which causes a property change which causes... another request
to 0x0 and repeat. dont set tyhe size changed flags if size actually
didnt change and this fixes that.
2017-01-15 14:16:31 +09:00
Mike Blumenkrantz fe2c390861 use geometry from comp object input rect when determining if coords intersect
the rect geometry may be clipped, so use whatever the current geom is
2017-01-13 11:35:20 -05:00
Mike Blumenkrantz 0fbef3b74e use persistent clipping for comp object input rects
it's technically legal to set an input region larger than a surface,
then later expand the surface and expect that the input region will
also expand
2017-01-13 11:35:20 -05:00
Carsten Haitzler 3903d44666 e - BLOODY BUILD AGAIN - DAMN FLOAT WARNINGS...
i swear ... all of this shit over a warning that CAUSED more bugs than
it eveer fixed? sersiously...

ARGH!
2017-01-07 14:05:17 +09:00
Mike Blumenkrantz 85589ab2b8 resolve compositor float-equal warnings
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2017-01-06 12:57:33 -05:00