Mike Blumenkrantz
2ae8d726f3
HAVE_WAYLAND_CLIENTS || HAVE_WAYLAND_ONLY -> HAVE_WAYLAND
...
these are semantically identical
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz
fd4226eb8f
use a safe iterator when deleting clients during comp shutdown
...
it's conceivable that, were there a bug in client refcounting,
this could become an infinite loop and prevent shutdown/restart.
since, at this point, we don't really care about deleting anything,
ensure that the loop will end
2015-06-15 13:35:34 -04:00
Carsten Haitzler
6b64e40122
e - e client, comp win etc. reffing fix ... part 2
...
this follows 56cabf59c6
then
4e5521b4d8
where i have been trying to
fix a crash with e client and comp win references etc. i have gone
over all referencing with a fine tooth comb and found all the nigglies
i can., no leaks now, no crashes, no valgrind complaints etc. so i
call this fixed now. as best i know this is new in e20, so not a
backport fix
2015-06-15 20:27:25 +09:00
Mike Blumenkrantz
e717a2e107
fix nocomp popping on comp input ungrabbing
...
regression from e24666b929
2015-05-18 13:20:35 -04:00
Chris Michael
0a94e8ba71
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-05-07 15:13:10 -04:00
Mike Blumenkrantz
e24666b929
fix comp input ungrabbing to read more clearly and not pop nocomp wrongly
2015-04-30 14:50:20 -04:00
Mike Blumenkrantz
0c7ff0b0e9
add comp mouse grab detection function
2015-04-27 14:32:05 -04:00
Mike Blumenkrantz
c7bdf6d992
add comp util function for determining whether the keyboard has been grabbed
2015-04-27 14:21:33 -04:00
Mike Blumenkrantz
d0f48e6441
fix comp init failure case
2015-04-24 14:12:51 -04:00
Mike Blumenkrantz
3e50235e5b
fix comp fake layer init for wl compositors
...
fix T2363
2015-04-24 14:12:44 -04:00
Mike Blumenkrantz
e1181c4d03
create e_comp during e_comp_init, set comp_type automatically
...
this simplifies comp creation slightly
2015-04-22 21:18:53 -04:00
Mike Blumenkrantz
5dd146e7e4
fix nocomp_override conditional which would inaccurately toggle nocomp
...
hooray gcc 5.0
2015-04-14 20:26:21 -04:00
Mike Blumenkrantz
a73d2583c5
don't crash on wl shutdown
...
devilhorns? more like crasherhorns imo
2015-04-08 14:56:05 -04:00
Chris Michael
fa68ec127d
e_comp: Only need 'type' variable if we are building with HAVE_WAYLAND
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:49:17 -04:00
Mike Blumenkrantz
93e0ebd4e1
only call e_comp_wl_shutdown() for wayland compositors
2015-04-07 19:30:44 -04:00
Mike Blumenkrantz
8ed4ee3b38
remove E_Comp->x/y
...
canvas coords start at 0,0...always
2015-03-19 16:59:59 -04:00
Mike Blumenkrantz
58447e9508
completely remove E_Manager
...
the final step in flattening all the canvas/screen apis
2015-03-19 16:53:32 -04:00
Mike Blumenkrantz
471dcb24cb
__UNUSED__ -> EINA_UNUSED
...
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Mike Blumenkrantz
138e84370d
remove most E_Comp usage from e_comp
2015-03-18 17:14:54 -04:00
Mike Blumenkrantz
8629d8a308
set e_comp->elm as fullscreen for internal elm hinting
2015-03-18 10:58:34 -04:00
Mike Blumenkrantz
34d906fa42
e_zone functions no longer require E_Comp param
2015-03-13 17:28:49 -04:00
Mike Blumenkrantz
1736d1ecb9
e_client functions no longer require E_Comp param
2015-03-13 16:53:19 -04:00
Mike Blumenkrantz
d00127c2f5
e_comp functions no longer require E_Comp param
2015-03-13 16:48:41 -04:00
Mike Blumenkrantz
50839a51a9
remove e_comp_evas_find()
2015-03-13 16:24:27 -04:00
Mike Blumenkrantz
1fe1c94245
comp canvas functions no longer require an E_Comp param
2015-03-13 16:07:08 -04:00
Mike Blumenkrantz
91edd1ce2f
E_CLIENT_*FOREACH() macros no longer take a E_Comp param
2015-03-13 15:45:07 -04:00
Mike Blumenkrantz
091142b032
remove E_Client->comp
2015-03-13 15:41:21 -04:00
Mike Blumenkrantz
dd5cf53542
remove e_comp_util_evas_object_comp_get() usage
2015-03-13 15:24:13 -04:00
Mike Blumenkrantz
a8f9c44b46
remove e_comp_get() function
2015-03-13 15:13:01 -04:00
Mike Blumenkrantz
e8d408650f
disable wl clients in X
...
this is untested and undeveloped, no point in leaving it around to crash randomly
2015-03-06 14:52:12 -05:00
Mike Blumenkrantz
9dee41f1a3
do not reapply focus on canvas object ungrab/close for pointer-focus enthusiasts
2015-02-20 09:55:20 -05:00
Carsten Haitzler
790183d74a
e - randr - laptop lids - handle plug/unplug and well as lid open/close
...
this fixes some issues in the new randr2 code that made it not work
right with plug/unplug and lid close/open. now it does work right and
plugging/unplugging displays is seamless (if your driver does not give
plug/unplug events bind a key to update screen config acvtion and e
will figure it out when you hit the key).
2015-02-09 18:22:02 +09:00
Tom Hacohen
61c4a72ae2
E comp: Adjust according to elm function rename.
2015-01-12 10:18:11 +00:00
Mike Blumenkrantz
06895e4036
use elm_win_fake() to create a fake elm_win for widget parenting/focus
...
ugh
2015-01-11 12:20:46 -05:00
Mike Blumenkrantz
0bac875290
remove some e_comp_get() usage in core comp/client files
2015-01-05 15:39:34 -05:00
Mike Blumenkrantz
922af2c52f
remove e_comp_list(), deprecate all related functions for pending removal
...
there is only one E_Comp which can now be accessed by the e_comp global.
if you're editing a file with some uses of these deprecated functions, replace their usages with appropriate references to this variable
pass -Wno-deprecated-declarations to ignore these warnings during build
2015-01-05 15:39:15 -05:00
Mike Blumenkrantz
610c439abd
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:17:33 -05:00
Mike Blumenkrantz
eaa471b418
resolve recent coverity complaints
2014-11-21 10:21:13 -05:00
Mike Blumenkrantz
a44b172607
minor tweaks to prevent harmless invalid reads during restarts with windows open
2014-11-20 15:26:22 -05:00
Mike Blumenkrantz
99589eb5af
remove E_Win+e_canvas, convert all internal wins to use elm_win
...
known issues:
* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Chris Michael
2e0168359e
e-comp: Return proper post value for wayland clients during
...
client_update
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-11-10 10:20:49 -05:00
Seunghun Lee
576c43df8b
Remove HAVE_WAYLAND_ONLY dependency from searching and enabling backend module.
...
Summary:
this patch allows to enable wl_drm module(if it's exsited) without setting E_WL_FORCE as a wl_drm under HAVE_WAYLAND_ONLY.
this patch also prevent a crash under below condition. running enlightenment with HAVE_WAYLAND_ONLY option and without set E_WL_FORCE occurs crash where try to refer E_Manager because E_Manager is created in wl_drm module.
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1549
2014-10-20 11:53:26 -04:00
Mike Blumenkrantz
35a708a397
end nocomp on nocomp end...always
2014-09-16 10:44:55 -04:00
Mike Blumenkrantz
681b1f4312
manually break out of nocomp
...
in the event that there was only one window open and it was closed, this would permanently break the compositor
fix T1665
2014-09-16 10:39:34 -04:00
Mike Blumenkrantz
4e3b05b11f
check protocol visibility for nocomp breaks, not comp object visibility
...
new comp objects are never going to be visible during nocomp
2014-09-16 10:38:02 -04:00
Mike Blumenkrantz
56f898d36c
don't add nocomp damages for input-only windows
2014-09-16 10:37:28 -04:00
Mike Blumenkrantz
20a5b2bc18
fix nocomp skipping for skippable objects
...
fix T753
2014-09-08 09:12:21 -04:00
Mike Blumenkrantz
cdaa53fc8f
only add damages for nocomp clients if they are protocol-visible
2014-09-01 10:30:53 -04:00
Mike Blumenkrantz
362a9b6cce
reuse existing render post callback for wayland clients
2014-08-26 10:10:38 -04:00
Mike Blumenkrantz
3b649534c9
Fix building Enlightenment for X11-only, Wayland-Only, and X11 with Wayland clients.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Additional authors: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
Chris Michael
b2e2219235
fix define check for shutting down wayland compositor.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael
5e7d2ce5d4
fix potential crash with e_comp_get.
...
e_manager_current_get Can return NULL so we should check that.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael
dc4e619dea
fix building for wayland-only when --enable-wayland-clients is not
...
specified
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael
7499b51b68
fix include of comp_wl header to work with wayland_only option
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Mike Blumenkrantz
21da3ed343
use comp object api function for shape cutting to prevent mirrors from getting shapes cut
2014-08-22 18:14:23 -04:00
Mike Blumenkrantz
62023bc722
nocomp enforcing is now more accurate
2014-08-16 09:46:56 -04:00
Mike Blumenkrantz
6bf8e24320
nocomp checks more correctly skip comp_skip objects
2014-08-16 09:46:21 -04:00
Mike Blumenkrantz
45906bdf20
fix infinite stacking loop when enforcing nocomp
2014-08-15 19:17:33 -04:00
Mike Blumenkrantz
11ec0ea86b
make nocomp-skipable objects not require shelf
2014-07-30 14:23:25 -04:00
Mike Blumenkrantz
858504c69f
add comp events for nocomp toggle
2014-07-30 14:23:17 -04:00
Mike Blumenkrantz
208d138678
ignore probably-systray clients when checking for nocomp restack clients
2014-07-20 17:28:33 -04:00
Mike Blumenkrantz
54603e2ee3
typo from shelf nocomp commit
2014-07-20 17:28:21 -04:00
Mike Blumenkrantz
ac8f73cabc
allow nocomp with "above" shelves
2014-07-20 17:17:05 -04:00
Mike Blumenkrantz
556c21030c
handle nocomp eval for visible clients stacked over fullscreen client
...
probably fixes T1409, T1316, T1388
2014-07-19 15:47:21 -04:00
Mike Blumenkrantz
0599c6897e
trivial/break out nocomp end into util function
2014-07-19 15:47:21 -04:00
Mike Blumenkrantz
fc7e06807d
hybris support
2014-06-08 12:47:44 -04: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
5d6fc9cc6f
use 0,0 for start rect in shape cutter
2014-06-02 08:40:00 -04:00
Mike Blumenkrantz
82c8556dad
shut up impossible null deref
...
CID 1219856
2014-06-02 05:03:45 -04:00
Mike Blumenkrantz
7bc59d01fe
slightly optimize shape cutting
...
objects below the bottom client are unnecessary, so it's better to just start with the bottom client. this has a nice side effect of working around a weird evas bug where layers can exist while having no objects, breaking stacking iterator functions
2014-05-30 11:22:21 -04:00
Carsten Haitzler
5d8fb9e4d5
add delimiter to shape debug to make debugging easier
2014-05-29 20:51:02 +09:00
Mike Blumenkrantz
8ec74517ed
remove legacy e_sys handler callback system, redo sys action ordering, only blank on action success
...
fix T1271
2014-05-26 15:57:32 -04:00
Mike Blumenkrantz
6d3c9d3a19
feature: add automatic compositor engine detection
...
this takes care of the previously-required E_WL_FORCE autodetection. E_WL_FORCE behavior unchanged
2014-05-11 13:07:12 -04:00
Gwanglim Lee
72f1dcc748
add missing eina_list_append in comp init
...
Summary: add missing eina_list_append in comp init
Test Plan: N/A
Reviewers: raster, zmike, devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D835
2014-05-08 11:30:01 -04:00
Sebastian Dransfeld
168dc8ef38
comp: no need to assign pointer before return
...
As we return after the list free, no need to set the pointer.
CID 1087717
2014-03-24 13:02:56 +01:00
Mike Blumenkrantz
c04d754ac5
enabling drm output module should NOT require X-less build.
...
these defines all need to be changed from HAVE_WAYLAND_ONLY to something like WITH_X or we're going to have lots of problems with xwayland later on
2014-03-18 16:14:04 -04:00
Chris Michael
4bb1d8f390
@bugfix: Only load external compositing modules if we are wayland-only
...
@bugfix: Initialize e_comp_wl if we are wayland-only OR supporting
wayland clients.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:05 +00: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
Mike Blumenkrantz
4b58fa9a4e
replace ev->keyname with ev->key
...
see efl 5ae4cfd1923e502731f4d8fc2bf67b1f536a9216
2014-03-13 13:03:34 -04:00
Mike Blumenkrantz
450d6cf321
add comments to suppress false positives in intentional switch fallthroughs
...
CIDs 1155283, 1155282, 1155281
2014-03-13 12:20:38 -04:00
Mike Blumenkrantz
dacb821f05
trivial dead code--
...
CID 1187922
2014-03-13 11:43:53 -04:00
Mike Blumenkrantz
e77d536466
remove comp override immediately on screensaver disable
2014-02-28 15:27:35 -05:00
Mike Blumenkrantz
def17d763b
+e_comp_util_object_is_above_nocomp()
2014-02-26 11:46:32 -05:00
Mike Blumenkrantz
6a90f66cc4
use comp overrides when grabbing comp input
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
7604e7a6f7
use one comp override per comp, not per zone, when toggling screensaver fading
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
a331627e09
reduce comp override pop timer, successive pops trigger instapop
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
a52ede0c66
track current nocomp client
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
a22181c0da
allow nocomp on some overrides
2014-02-26 11:46:31 -05:00
Mike Blumenkrantz
f75a923ab0
break out client focus reset into separate function
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
4bf4fb69ed
check focus reset after comp input ungrab
2014-02-21 16:44:12 -05:00
Mike Blumenkrantz
14c7e58a29
improve infos for e_comp_util_wins_print()
2014-02-17 19:11:33 -03:00
Carsten Haitzler
3e17092db8
fix segv with comp post_updates
...
if we keep a list of e clients... either make sure any client deleted
is removed from the list on deletion... OR use ref/unref to ensure it
stays alive as long as it's in the list.
2014-02-12 12:34:28 +09:00
Mike Blumenkrantz
a3fbcc339b
Revert "Revert "Revert "e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses"""
...
This reverts commit 91b3f2e0e1
.
revert wars part 4: the blizzard blitz!
the main point of freezing idlers here was not, in fact, to optimize, but to block an infinite loop which pegged the cpu until screensaver ended. this solution should be less issue-prone for the one person who had issues with the previous fix.
2014-02-05 13:22:42 -05:00
Carsten Haitzler
91b3f2e0e1
Revert "Revert "e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses""
...
This reverts commit 3067f600ee
.
revert wars! - i keep hitting problems - the one i still see is that i
come back to a machine that has blanked for a while - i launch some
app (terminology, sylpheed, chromium - doesn't matter) and no window
appears. psorcess is running. no matter how many times i launch it ...
no new process appears. this is a major bug. stopping the idler is an
optimization not a necessity.
2014-02-06 01:18:15 +09:00
Mike Blumenkrantz
3067f600ee
Revert "e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses"
...
This reverts commit 231b780996
.
despite appearances, this functionality isn't solely for efficiency, and as such I have no plans for it to be removed.
2014-02-03 19:16:11 -05:00
Carsten Haitzler
231b780996
e_main_idler_freeze/thaw - disable - this causes no end of wierdnesses
...
so since this e main idler freeze/thaw i've noticed several times, i
come back to my machine after screen-off time period, i wke it up with
a mouse wiggle or keyboard press and try run terminology - no windwo
appears. i can run it all i want - it never shows up but the processes
are there. i've seen it happen to sylpheed where its fetch window
doesn't appear. i've had myserious menu edje objects on the top-left
with only a single item with no bg. i've had e even unable to restart
on ctrl+alt+end.
so i disabled the idler freeze/thaw as i suspected this is what the
root cause is, and sinc ethen the above problems stopped manifesting.
i can only conclude it's a deep and nasty bi-product of stopping the e
main idler, so don't do it. :) better be a bit less efficient than
buggy. either way setting manual rendering and dropping the animator
framerate should do almost all the things needed anyway.
2014-02-04 08:08:20 +09:00
Mike Blumenkrantz
1efb80bddb
set manual render and increase ecore frametime during screensaver
2014-01-28 21:13:55 -05:00
Mike Blumenkrantz
55bc44c9b8
feature: main idlers now freeze during screensaver to conserve power
2014-01-27 21:44:51 -05:00
Mike Blumenkrantz
b6f46fb622
ungrab comp input if either keyboard or mouse is set, not both
...
T858
2014-01-27 10:58:40 -05:00
Mike Blumenkrantz
f0bb277632
don't free client list on comp shutdown
...
clients remove themselves from the client list, so this makes us fail at freeing all the clients
2014-01-23 13:20:40 -05:00