Commit Graph

63 Commits

Author SHA1 Message Date
Mike Blumenkrantz e895d86839 set comp mirror alpha the same way as objects
T928
2014-02-10 09:54:01 -05:00
Mike Blumenkrantz 722b18de9a set precise_is_inside based on shaped || shaped_input 2014-02-10 09:48:13 -05:00
Mike Blumenkrantz a78d98700a apply shadow states during theme setup
T885
2014-02-10 09:12:43 -05:00
Mike Blumenkrantz 6524711e68 set comp theme object shadow state to off during setup
T907
2014-02-06 20:52:31 -05:00
Mike Blumenkrantz 446eb19653 use regular edje signal emit on regular edje objects 2014-02-06 20:51:58 -05:00
Mike Blumenkrantz 3499f454bd fix signal callback deletion in comp effect start 2014-02-05 20:52:20 -05:00
Mike Blumenkrantz a16f820f95 only ignore protocol stacking if comp object is on a different layer 2014-02-05 13:05:05 -05:00
Mike Blumenkrantz eba912cf6a e_client_resizing_get() -> e_client_util_resizing_get()
functions in e_client.x should be namespaced with e_client_util to indicate that they are inline (and in e_client.x)
2014-02-05 10:51:36 -05:00
Mike Blumenkrantz 4eae850861 e_util_client_shadow_state_get() -> e_client_util_shadow_state_get()
removals: e_util_client_shadow_state_get
2014-02-05 10:48:31 -05:00
Mike Blumenkrantz 27768fcb03 guarantee comp shadow is off when frame exists 2014-02-05 10:48:01 -05:00
Mike Blumenkrantz cd37f23632 allow shadows on borderless, non-argb, non-shaped clients
T885
2014-02-04 22:27:23 -05:00
Mike Blumenkrantz de9dde6daf remember comp object dirty state and update when necessary
normal clients rely upon the guarantee that they will receive another resize on next render when size updates occur before visibility happens, but overrides will never receive another resize since they always size accurately. by remembering that the state was previously considered dirty, render updates which occur before visibility are no longer lost until the next damage/resize occurs

tl;dr: your menus show up again
2014-02-03 14:00:12 -05:00
Mike Blumenkrantz 3125c3a674 fix more misuses of comp animating flag
this should even things out permanently here and ensure things get deleted when they should

related: T879
2014-01-30 12:12:01 -05:00
Mike Blumenkrantz 1d22c527a3 force comp reshadow after pixmap fetch succeeds, not during setup
reshadowing earlier than this makes it very likely that client attributes have not been fetched, meaning that the match will fall through to a default type match instead of using the correct one
2014-01-30 12:12:00 -05:00
Mike Blumenkrantz 49cfe28719 use object list for comp matching internal objects 2014-01-30 12:12:00 -05:00
Mike Blumenkrantz 8e6cd13766 fix some misuses of comp animating flag
T879
2014-01-30 06:59:11 -05:00
Mike Blumenkrantz 5a2aab8457 reject stopping comp object effect if wrong end_cb is passed 2014-01-30 06:55:14 -05:00
Mike Blumenkrantz db01319aee ref client itself during comp object add event 2014-01-29 21:12:07 -05:00
Mike Blumenkrantz 9b36b9b78c remove comp iconify hacks (and e_iconify api), expand comp object effect api
instead of adding specific handling which will work (sometimes) in one specific case, expand already-existing api to provide the needed functionality for iconify animations. now on emitting any signal to a comp object, optional glob-able effect providers can be hooked and prioritized to add effect animations

also use animating flags now when applying an object effect

a base effect is provided in elementary, but now each module which wants to hook iconify animations (or other events) can do so in the theme and have different animations with their module
2014-01-29 13:36:42 -05:00
Mike Blumenkrantz e5bbb98918 don't reset focus to iconified clients on autoclose delete 2014-01-29 13:36:42 -05:00
Mike Blumenkrantz c4afece1a3 revert 8b62039e6a, use existing layer_block flag 2014-01-29 13:36:41 -05:00
Carsten Haitzler 8b62039e6a support temporary layer changes for iconify anim purposes 2014-01-29 22:42:54 +09:00
Carsten Haitzler 1ede2a5632 iconify provider - the ability to provide geometry for src/dst of iconify
ibox now uses this as an initial test. there are teething problems:

1. unknown location for new icon (guess that its on right)
2. stacking - the animation is at the stacking layer of the comp obj
   ... this probably needs a way for the comp shobj to request a
   temporary stacking change until anim done
2014-01-29 22:42:54 +09:00
Mike Blumenkrantz cd2cde6477 clean up client delete+unfocus
previously there were cases where client focus was not explicitly unset on delete, which resulted in expected client hooks not being called and minor inconveniences to occur
2014-01-27 10:58:41 -05:00
Mike Blumenkrantz de58ff7ecd only hide/delete comp util objs if hiding flag is set
if an object is shown during the hide animation, this flag gets unset
2014-01-27 10:58:40 -05:00
Mike Blumenkrantz 6effdae157 fix comp util adding of already-visible objects
this fixes pager popups which don't use the new style of popup adding
2014-01-27 10:58:40 -05:00
Mike Blumenkrantz 09e15c49ac only clear comp updates on resize if it isn't the first resize 2014-01-24 17:33:37 -05:00
Mike Blumenkrantz d48f386c23 add define for making render debug messages easier to enable 2014-01-24 16:07:33 -05:00
Mike Blumenkrantz a38d8828e9 don't bother with client hide animations on shutdown/restart 2014-01-23 13:23:41 -05:00
Mike Blumenkrantz e115cbc906 reset focus to last focused client upon closing an autoclose object 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz d5ce4e0517 more commented out debug lines for comp object 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 9201ac12d4 resize pending update tiler during size update
another tiler gets merged a few lines down and clipping is bad
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 2943d88042 only set shape merge/export flags for non-override clients on resize 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 199882ea25 disable shadows for override clients with alpha 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 6b246c7c8a clean up comp object autoclosing when overwriting existing autoclose object 2014-01-22 22:14:33 -05:00
Mike Blumenkrantz b363dc802d use client fullscreen flag to determine current fullscreen state
T834
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz 2dac967604 shadow checks for overrides only need to check for shaped and comp match
T833
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz db7a1f6df3 force prerendering for internal clients
we can assume that these are always going to be ready for drawing immediately, and sometimes X fucks up the damages so it's best to go with the full frame from the beginning
2014-01-22 22:14:33 -05:00
Mike Blumenkrantz d2f9a2efbf cleanup frame icon upon failing to use it 2014-01-21 09:32:02 -05:00
Mike Blumenkrantz 3addb45e79 fix fullscreen client place/adjust 2014-01-20 21:33:11 -05:00
Mike Blumenkrantz 30d6b2e196 remove the black frame render fallback
I think the timing on resizes is perfect now, so we should never need to see this
2014-01-20 18:58:53 -05:00
Mike Blumenkrantz 097331864a clear non-pending updates on resize
this smooths out resizes a barely noticeable amount since these updates (the pending-pending updates) are no longer relevant
2014-01-20 18:58:26 -05:00
Mike Blumenkrantz 4615db497c remove damage from show interceptor
this is a bit broken since an actual damage might not have occurred yet. moderately sure I added it for testing at one point and then never removed it
2014-01-20 18:56:37 -05:00
Mike Blumenkrantz e148451d4f check for pending render updates before doing a black frame 2014-01-20 17:34:12 -05:00
Mike Blumenkrantz 36edca0773 remove unnecessary damage from resize 2014-01-20 17:28:16 -05:00
Mike Blumenkrantz d0713cddb4 fix shading animations
yeeeep it's that simple. should probably move these to edje at some point
2014-01-20 17:27:31 -05:00
Mike Blumenkrantz aefaaea57b unify client borderless checks to use util function 2014-01-20 15:12:40 -05:00
Mike Blumenkrantz 8fe70c3d2a fix client geometry when toggling borderless state 2014-01-20 15:12:23 -05:00
Mike Blumenkrantz 8ce457889e ensure withdrawn state is always set
this is what was breaking shows on things like yakuake
2014-01-19 03:33:39 -05:00
Mike Blumenkrantz c66cdc1416 only add client to raise stack if focus tracking is enabled
focus tracking only gets frozen by winlist, at which point it's most likely that users also don't want the raise stack to be altered
2014-01-17 17:49:10 -05:00