Commit Graph

84 Commits

Author SHA1 Message Date
Mike Blumenkrantz 9ad04eb877 redo client urgency again with separate flag for actual urgent state
preserve icccm flag for accurate detection
2014-03-05 10:08:09 -05:00
Mike Blumenkrantz 8568a76313 always set iconic client comp state as visible
pass: init_states
2014-03-04 15:20:24 -05:00
Mike Blumenkrantz 41c4cded01 send unmaximize signal when unfullscreening
fix T1044
2014-02-28 14:55:27 -05:00
Mike Blumenkrantz 78403e2f54 don't reshadow on client redirect
fix T1019
2014-02-27 20:31:18 -05:00
Mike Blumenkrantz c01a1fcc6c manage comp overrides for comp objects
fix T1019
2014-02-26 11:46:32 -05:00
Mike Blumenkrantz f75a923ab0 break out client focus reset into separate function 2014-02-21 16:44:12 -05:00
Mike Blumenkrantz 63d6153d86 reject comp autoclose refocus during comp input grabs 2014-02-21 16:44:12 -05:00
Mike Blumenkrantz 71bfe06bb3 fix debug format string 2014-02-21 16:44:11 -05:00
Mike Blumenkrantz 1a3e86c3c9 fix race condition when repeatedly resizing clients too fast
T993
2014-02-21 16:44:11 -05:00
Mike Blumenkrantz ef360e1684 resize damage tiler on resize
this fixes render races which occur when damages and resizes happen in quick succession
2014-02-17 19:11:33 -03:00
Mike Blumenkrantz b317bedf5a remove comp object dirty flag
this logic was useful for another issue which has since been fixed. it currently only serves the purpose of triggering a race condition crash which I do not enjoy.
2014-02-17 16:21:02 -03:00
Mike Blumenkrantz bbf29c6a2a only set want_focus for non-hidden clients when deferring focus setting
T950
2014-02-14 14:56:16 -05:00
Mike Blumenkrantz 494e6bc5ee another revision for client geometry resets: take new geometry instead of ignoring it 2014-02-14 13:43:15 -05:00
Mike Blumenkrantz 09cb41f1dc only reset move/resize attempts if the pending move/resize is different than the current one 2014-02-13 22:46:48 -05:00
Mike Blumenkrantz d80dbc1a35 add maximize_override client flag
sometimes you just want to do stuff on a client without any maximize logic applying!
2014-02-12 20:37:52 -05:00
Mike Blumenkrantz 7571ccb2d8 reapply geometry and unset post flags when a client intercept gets the current geometry 2014-02-12 19:50:50 -05:00
Mike Blumenkrantz 6802ae750d send smart object to comp effect end cb 2014-02-11 22:29:34 -05:00
Mike Blumenkrantz 449ec43d1f size comp zoomap child to pixmap, not client
this affects nothing
2014-02-11 21:45:04 -05:00
Mike Blumenkrantz c3ce56c1dc it's possible that a comp effect has no post-effect callback 2014-02-11 18:40:22 -05:00
Mike Blumenkrantz bf48616a47 remove shadow check from shape apply 2014-02-11 18:40:02 -05:00
Mike Blumenkrantz d9be56ad41 add smart callback on comp object for shadow change 2014-02-11 18:39:51 -05:00
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