Mike Blumenkrantz
1a4b0bf29c
Revert "fix relative stack object check"
...
This reverts commit b3efbfb91d
.
bad past-self! past-past-self was much smarter than you!
2014-05-29 12:20:38 -04:00
Mike Blumenkrantz
b4e4214e5c
ensure client is actually stacked below the above-client when raising
2014-05-29 12:19:43 -04:00
Seunghun Lee
e84eb965f4
remove unused variable use and function call
...
Reviewers: raster, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D867
2014-05-19 15:56:01 +09:00
Seunghun Lee
3c416438b0
fix enlightenment crash by accessing null pointer.
...
Summary: e_client_below_get can return null, so added null check code.
Reviewers: raster, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D857
2014-05-14 09:09:30 -04:00
Mike Blumenkrantz
b3efbfb91d
fix relative stack object check
2014-05-10 17:18:08 -04:00
Mike Blumenkrantz
5434656751
add check for stacking errors in non-release builds
2014-05-10 17:18:08 -04:00
Mike Blumenkrantz
81038f8d02
fix some smart_data_get stragglers in comp object
2014-05-10 17:18:08 -04:00
Mike Blumenkrantz
fdeb104733
comp can only set native surface with gl, so only try setting based on gl
2014-05-10 17:18:08 -04:00
Seunghun Lee
1d9a94c7e9
remove duplicated code
...
Summary:
this patch removes duplicated code.
the event handler of "focus in/out" already added above it.
Reviewers: raster, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D816
2014-05-02 06:48:28 -04:00
Gwanglim Lee
69e39063dd
e_comp_object: update xy position of client in intercept_move to avoid unwanted first damage if given client is not a new_client
...
Summary:
xterm and pcmanfm windows shows black area if e is running with sw engine mode. (T1180)
In this case, there are two problems:
1. Unwanted geometry info of first damage by wrong window move in intercept_move.
(a) Handle x map request
(b) Initialize client_inset value of comp object according to geometry value of "e.swallow.client" part
(c) Set client_inset value to cw->client.x and y in intercept_move
(d) Call ecore_x_window_move_resize with wrong x and y at idler
(e) Create x damage
(f) Handle unwanted damage notify event which has position values same as client_inset.
(g) Copy image contents from pixmap according to wrong area info of damage notify and render it on screen.
2. Problem of override redirect window
Black area of pcmanfm's menu is related to override redirect window.
This patch only covers 1st problem not 2nd problem.
The override redirect window should be fixed by another way.
Test Plan:
1. Run e with sw engine mode or run x-ui.sh in e git simply
2. Run xterm which is using classic x drawing api
3. Check client window area of xterm
Reviewers: raster, zmike, devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D795
2014-04-25 12:50:47 -04:00
Gwanglim Lee
ffcc5e72d9
null check ecstack
...
Summary: fix segmentation fault error
Test Plan:
run enlightenment (wl only server) -> run elementary_test -> run terminlogy
-> move cursor to elementary_test -> click on elementary_test
Reviewers: raster, devilhorns, zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D770
2014-04-18 12:51:36 -04:00
Mike Blumenkrantz
b49957bf9b
preserve client stacking after compositor effects
...
fix T1065
2014-04-10 19:01:50 -04:00
Mike Blumenkrantz
47cfb31752
comp_object now uses eo, e_comp_object_signal* -> edje_object_signal*
...
also cw->clip is gone
2014-04-10 19:01:47 -04:00
Mike Blumenkrantz
95a8fed0bf
unify comp object stacking
...
these were nearly identical, and sooner or later there was going to be an unfortunate c/p error
2014-04-02 14:16:34 -04:00
Mike Blumenkrantz
cfe26ff838
comp docs part 1: comp objects
2014-04-02 13:06:28 -04:00
Mike Blumenkrantz
b9e6a624ef
fix frame size calc check to account for themes with 0 height
2014-04-02 12:31:33 -04:00
Mike Blumenkrantz
3f2efbc548
fix client layer marker detection/usage in wayland
...
this is the correct fix for D687
2014-04-02 11:07:22 -04:00
Seunghun Lee
597aec1710
remove unused comp object variable use and function call in show helper
...
Reviewers: zmike
Differential Revision: https://phab.enlightenment.org/D686
2014-04-02 09:27:20 -04:00
Mike Blumenkrantz
ea3439b664
Revert "move comp object tiler creation to helper function to catch retries"
...
This reverts commit f4e4b2fc4f
.
testing commit that wasn't supposed to go upstream
2014-03-27 17:01:22 -04:00
Mike Blumenkrantz
f4e4b2fc4f
move comp object tiler creation to helper function to catch retries
2014-03-27 16:47:19 -04:00
Mike Blumenkrantz
53824eb309
redo input rects after comp effect layer changes
...
fix T1070
2014-03-27 16:47:18 -04:00
Mike Blumenkrantz
42f43c9311
disable comp object animation hooks if animations are disabled
2014-03-27 16:47:18 -04:00
Mike Blumenkrantz
daa98e867d
fix lots of edje emits on non-edje objects
2014-03-27 16:47:18 -04:00
Mike Blumenkrantz
c47bf94cdf
hook sticky smart callbacks properly inside comp object
2014-03-20 11:38:58 -04:00
Chris Michael
915f8f0613
@bugfix: Fix building for WAYLAND_ONLY by using the proper define
...
sed -i 's/WAYLAND_ONLY/HAVE_WAYLAND_ONLY/g'
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00
Carsten Haitzler
ad6aa3db71
part of previous commit - also set delete_requested to 0
2014-03-15 00:00:27 +09:00
Carsten Haitzler
b1373fe63f
fix hiding of windows when delete is requested
...
this is applicable to e19 only (you can't backport this patch as-is -
e19 is too different). this fixes T1063.
2014-03-14 16:25:14 +09:00
Mike Blumenkrantz
63b01101ee
fix comp util object initial visibility
2014-03-05 10:53:05 -05:00
Mike Blumenkrantz
851ef43c41
force comp render on dirty for hidden objects with visible mirrors
2014-03-05 10:08:09 -05:00
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
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