Mike Blumenkrantz
608b38b2e7
allow client resizes on axes currently unrestricted by maximize state
...
if this isn't explicitly blocked by config options then allowing resizes
on the unmaximized axes is necessary in order to avoid accidentally
queuing a full unmaximize
2015-09-28 16:12:28 -04:00
Mike Blumenkrantz
d103edfd6b
force adjustment of client geometry when changing csd frame size
...
fix T2750
2015-09-28 16:12:28 -04:00
Mike Blumenkrantz
254494a7df
initialize pixmap size vars in comp resize interceptor
...
these are never uninitialized when they are used, but this
is not obvious to the reader
CID 1324956, 1324956
2015-09-25 22:41:23 -04:00
Mike Blumenkrantz
bfeeae6adf
fix handling of x11 ICCCM WithdrawnState
...
according to ICCCM 4.1.4:
Only the client can effect a transition into or out of the Withdrawn state
withdrawn windows cannot be shown under any circumstances. the best that can
be done is to try mapping the window and hope it decides to appear.
to prevent any inadvertent showing of the window before it leaves the
withdrawn state, we play games with the E_Client->ignored flag in order
to skip client evals until we get notified that maybe we want to stop
skipping those evals
ref T2745
also includes 0e3cc2f533
2015-09-25 22:40:15 -04:00
Mike Blumenkrantz
aa665020e6
set comp object client_inset.calc based on frame_object existence
2015-09-24 16:42:31 -04:00
Mike Blumenkrantz
fc1da30ad4
add util function for determining if a client is allowed to have a frame
...
returns false if mwm borderless is set or if csd exists
2015-09-24 16:42:31 -04:00
Mike Blumenkrantz
53e0c56f5e
fully support _GTK_FRAME_EXTENTS
...
gtk apps set an atom which provides information about the area
where non-window content (eg. shadows) may be drawn; this area
must not be used in placement calculations.
the easiest method for implementing this functionality was to add
a case to the compositor geometry interceptors which effectively
flip the client struct geometry values such that the E_Client->client
is outside of the more commonly used E_Client->x/y/w/h
fix T2744
2015-09-24 16:42:24 -04:00
Mike Blumenkrantz
52c66793f1
calculate comp object visibility regardless of pending damages
...
in the case of clients on non-visible vdesks, this improves the reliability
of mirrored rendering
2015-09-22 13:22:24 -04:00
Mike Blumenkrantz
7a142970cb
do not emit client iconify signal when reapplying compositor theme
...
this has no effect other than breaking the animation counter for the
client and preventing it from being deleted
2015-09-22 13:21:11 -04:00
Mike Blumenkrantz
2c77b0591a
ensure that normal clients are stacked below overrides when raising
...
when a client is set to "Always on Top", it will be on the same layer
as override clients. this can cause strange stacking and mouse eventing
in cases where these windows occupy the same space and the normal client
is stacked over the override
2015-09-08 17:51:21 -04:00
Mike Blumenkrantz
625088f296
reject focus-set attempt if desk flip to client's desk was rejected
...
in the case of recursive desk flips, toggling a desk's visibility may
erroneously send queued evas events to the client's frame object, leading
to a focus-set (mouse-based focus models) which triggers a desk flip
inside the original desk flip. this "inner" desk flip is spurious and
should be ignored
2015-08-21 16:43:59 -04:00
Mike Blumenkrantz
6298e7d81c
add some smart callbacks for comp objects on redirect/dirty state change
2015-08-20 15:58:28 -04:00
Mike Blumenkrantz
ba15a571b5
force render queue and check for redirection on clients with 0x0 pixmaps
...
fixes an issue where resizing the current nocomp client could result in a
broken compositor until a render queue was triggered
2015-08-20 15:58:22 -04:00
Mike Blumenkrantz
0fa853d742
account for race condition when creating initial comp object updates tiler
...
added to maintain compositor logic parity
2015-07-08 12:45:41 -04:00
Mike Blumenkrantz
303edb544d
block client signal binding activation when mouse action is active
...
this prevents oddities such as activating [window shade] and [resize] actions
simultaneously from breaking the compositor
2015-07-07 13:12:40 -04:00
Chris Michael
099861c55a
enlightenment: Make E build again with EFL from git
...
sed -i 's/EAPI/E_API/g'
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-01 15:56:20 -04:00
Mike Blumenkrantz
a491a3fa9e
fix focus FIXME regarding focus-setting on clients from other desks
...
fix T2259
2015-06-29 16:04:38 -04:00
Mike Blumenkrantz
1e5eea91ee
return an accurate value for override clients in e_comp_object_util_zone_get()
2015-06-17 15:59:23 -04:00
Mike Blumenkrantz
187608ba7a
use client geom for comp object centering functions if ec->new_client is set
2015-04-28 12:27:33 -04:00
Carsten Haitzler
666da6ab83
e clients - make sure we handle client with a NULL zone
2015-03-11 16:05:52 -04:00
Mike Blumenkrantz
5e48e67b23
fix crash when using e_comp_object_util_center_pos_get() with non comp_objects
2015-03-06 18:57:37 -05:00
Mike Blumenkrantz
35e1e2488f
never resize client clip object
2015-03-04 17:08:23 -05:00
Mike Blumenkrantz
800ec5eaa3
do not reapply focus on canvas object ungrab/close for pointer-focus enthusiasts
2015-02-20 09:56:15 -05:00
Mike Blumenkrantz
c15e0848b5
revert some comp object debugging bits that snuck into another commit
2015-02-19 11:13:46 -05:00
Mike Blumenkrantz
9567acde42
don't send unfocused signal to override clients
...
fix T2099
2015-02-18 16:36:11 -05:00
Vincent Torri
3bdc2ebbba
add MIN define for non-linux systems
2015-02-15 17:54:25 -05:00
Mike Blumenkrantz
f7701ff905
don't change shade.x/y during unshade or after shade
...
fix T1930
2015-01-08 18:23:48 -05:00
Mike Blumenkrantz
c3e86c328d
comp pending resizes should not require both w+h to change
2014-12-31 15:39:06 -05:00
Mike Blumenkrantz
6d7ecefa02
greatly reduce FAILURE_MAX
...
ref T1820
2014-12-08 17:08:00 -05:00
Mike Blumenkrantz
9d1a3ad45b
reduce shape recalc for clients which cannot currently receive input
2014-12-07 20:24:09 -05:00
Mike Blumenkrantz
0d2001013f
redo shaped client checks to use shape flags instead of rect pointer, fix shapeless clients
...
according to the shape extension protocol, the number of rectangles returned should be checked to determine a client's shape. if 0 is returned, the client has no shape, meaning that it either should not be drawn or should have no input region. this improves behavior with various client window types such as tooltips
ref T1820
2014-12-07 20:18:27 -05:00
Mike Blumenkrantz
6f024d3abf
add failure count for client rendering, drop clients after FAILURE_MAX tries
...
this traps clients which are showing and hiding themselves extremely quickly and prevents them from crashing us when we try to draw them
fix T1820
2014-12-07 20:18:27 -05:00
Mike Blumenkrantz
e3b993a332
ensure clients are visible before triggering shape/render queue
2014-12-07 20:18:27 -05:00
Mike Blumenkrantz
d4e289727a
force comp render queue more aggressively to detect changes in nocomp
2014-09-23 10:31:25 -04:00
Mike Blumenkrantz
16f3595f7d
comp render queue on every client resize instead of on unmaximize
2014-09-23 10:31:24 -04:00
Mike Blumenkrantz
ec1cd25cfe
rename E19* defines/texts to just E so they don't need to keep being updated
2014-09-09 12:30:50 -04:00
Mike Blumenkrantz
93e0dd20c0
add docs for all the comp_object data keys
2014-09-07 12:49:19 -04:00
Mike Blumenkrantz
5733e7b3f7
non-client comp object creation checks "noshadow" edje flag on passed objects
...
returns theme functionality from e17
2014-09-03 09:46:27 -04:00
Mike Blumenkrantz
8a10f288ad
use a non-conflicting data item for comp mirror creation
2014-09-01 14:22:44 -04:00
Mike Blumenkrantz
74c3e0a979
shorten rendering path when creating comp mirrors from comp mirrors
2014-09-01 13:55:02 -04:00
Mike Blumenkrantz
77c63e0387
redo comp object util refs to be more consistent and not break evas
2014-09-01 10:30:53 -04:00
Mike Blumenkrantz
cef6ebd2db
fix post-effect stacking BITCH and post-effect transient stacking
2014-08-26 09:45:04 -04:00
Mike Blumenkrantz
d654f880a1
fix e_comp_object_client_get() when used with signal callback
2014-06-16 13:35:57 -04:00
Mike Blumenkrantz
04a8f58ff9
remove useless null checks
...
CIDs 1155278, 1155289
2014-06-10 20:40:47 -04:00
Mike Blumenkrantz
5ad876ccad
block mouse actions on frame for iconic clients
...
fix T1069
2014-06-08 12:13:02 -04:00
Cedric BAIL
3f9af38da2
edje: remove use of deprecated functions.
2014-06-07 21:10:55 +02:00
Mike Blumenkrantz
dbce413b42
fix shape cutting for frames which are larger than their object size implies
...
requires border themes to have data.item "frame_extends" set
2014-06-04 08:55:06 -04:00
Mike Blumenkrantz
d8aa488096
completely revert all eo/eolian usage
...
this was a neat experiment, but apparently it's not going to be usable for a long time in anything outside efl/elm
This reverts commits f87b9900fa
, a49cede790
, 81038f8d02
, 47cfb31752
.
2014-06-04 07:27:50 -04:00
Tom Hacohen
f87b9900fa
Update code to use the new class names generated by eolian.
2014-06-03 11:55:02 +01:00
Mike Blumenkrantz
1a492e3786
ignore fake client resizes during shade
...
fix T1314
2014-06-02 16:25:47 -04:00