Commit Graph

298 Commits

Author SHA1 Message Date
Mike Blumenkrantz 245bb97922 enforce fullscreen client stacking during nocomp end IFF client is fullscreen
previous behavior would result in the nocomp window becoming stuck at a fullscreen
layer when ending nocomp, even if the client was no longer fullscreen

fix T2827
2015-11-09 14:34:09 -05:00
Mike Blumenkrantz 203932fed9 move client post-update adding into render function
in some cases, it's possible for a client which expects to render on
the next frame to actually render on the frame after. in these cases,
the compositor must not clear the pixmap image until after the render
has occurred in order to avoid inaccuracies. for this reason, the best
place to flag a client for post-render work is at the time of the client's
render

ref T2762
ref D3120
2015-10-02 14:03:31 -04:00
Mike Blumenkrantz e7176b5104 ensure that non-fullscreen nocomp clients have their layers re-set
in the case where a window is fullscreen without having the 'fullscreen'
flag set, the previously-used layer must be reapplied upon nocomp end
in order to avoid breaking the compositor
2015-09-11 13:08:18 -04:00
Mike Blumenkrantz 714353be47 add extreme hacks to enforce nocomp stacking policies
if windows set to "Always on Top" exist while the option to allow
windows over fullscreen windows is enabled, enabling nocomp will
result in the above windows being stuck over the nocomp window

instead, force the nocomp window to be the top-most window in all cases,
and then put it back if another object appears on the screen over it

fix T2703
2015-09-08 18:44:55 -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 5f5786ab50 fix nocomp_override conditional which would inaccurately toggle nocomp
hooray gcc 5.0
2015-04-14 20:38:43 -04: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 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 7003b3ed08 end nocomp on nocomp end...always 2014-09-16 11:07:13 -04:00
Mike Blumenkrantz 351bde444c 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 11:07:08 -04:00
Mike Blumenkrantz 9b8a6df115 check protocol visibility for nocomp breaks, not comp object visibility
new comp objects are never going to be visible during nocomp
2014-09-16 11:07:02 -04:00
Mike Blumenkrantz 72366e49f9 don't add nocomp damages for input-only windows 2014-09-16 11:06:59 -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