Commit Graph

132 Commits

Author SHA1 Message Date
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 2d580a2f87 enforce no multihead in X compositor
this hasn't worked since E17, may was well stop trying
2015-01-05 15:36:11 -05:00
Mike Blumenkrantz 701e2d914a add support for new netwm csd X atoms
nothing uses these yet so there's no way to test them.

fix T1963
2015-01-03 00:42:42 -05:00
Mike Blumenkrantz 5bf04eed8f don't set gravity on client windows during X move/resize
fix T1940
2015-01-02 23:56:11 -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 38f30c83af fix X crash when trying to apply desktop window profile to client without desk 2014-12-07 20:17:33 -05:00
Mike Blumenkrantz ce8a4a2b78 remove ec->changes.internal_props
this should be set directly on the win using evas/elm apis
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
Mike Blumenkrantz a9495340f6 fix internal window border changing 2014-11-03 14:10:17 -05: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 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 6318fd042b add short path to ensure ConfigureNotify event after request
fix T1485
2014-09-05 15:01:52 -04:00
Mike Blumenkrantz 44545b53a9 don't break nocomp for client activate requests 2014-09-01 10:30:53 -04:00
Mike Blumenkrantz e949fcc077 only use pixmap size shortcut on non-internal clients
this gets broken pretty easily since we resize all over the place
2014-09-01 10:30:53 -04:00
Mike Blumenkrantz 7b8ad92604 set X pixmap size on client init 2014-08-28 13:30:07 -04:00
Chris Michael 28b512d5a7 fix X compositor to use e_pointer_window_new
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:01:46 -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 20e17c97ac create the compositor e_pointer on the ecore_evas
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael 1d1d82ea12 fix botched 'git merge' from desktop_window_profile patch
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Chris Michael 79599394da update various files for compositor structure changes
- X compositor
  - shell module
  - drm module
  - x11 module
2014-08-26 10:10:35 -04:00
Chris Michael a6ed5677b2 update X compositor code for structure rename
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Chris Michael 5ea94188f5 remove EINA_UNUSED for parameter that is actually used
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:35 -04:00
Mike Blumenkrantz e0125a483a fix internal transient clients 2014-08-26 00:27:08 -04:00
Mike Blumenkrantz 462d79e147 redo/simplify PRESENT usage in compositor to no longer use PRESENT
keith said no
2014-08-22 09:56:11 -04:00
Carsten Haitzler 0bb9acc75d comp - with sw comp tell apps to also use sw - disable accel requests
this addresses a vbox gl asccel issue where gl client apps can cause
al of vbox to crash and users find it unexpected that e is set to
software compositing but apps go and use opengl, so it's more
consistent for users
2014-08-06 12:04:27 +09:00
Mike Blumenkrantz 119dfb1bd8 unset phony exe on client deletion if exe still exists
fix T1460
2014-07-30 11:20:08 -04:00
Mike Blumenkrantz 949a0eeb15 move comp_x pixmap dirty setting to post_resize idler
this fixes a rare race condition which can only be triggered by the tiling module

fix T993
2014-07-30 00:52:20 -04:00
Chris Michael 728f383f0b remove call to e_comp_object_frame_geometry_get when handling x/y
configure masks.

NB: We never used the left/top frame geometry after fetching it

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-06-23 16:49:45 -04:00
Gwanglim Lee 571a696ab8 fix visibility issues related to desktop window profile
Summary:
1. fix window profile change request with wrong x window id
2. refactoring desktop window profile codes to handle e_client_desk_set correctly

Test Plan:
1. enlightenment: Settings Panel -> Screen -> Virtual Desktops -> Check "Use desktop window profile" -> Apply
2. open an efl app on 1st desktop (0-0)
3. set a window remember on efl app window
4. go to 2nd desktop (1-0)
5. open an efl app again. it should be positioned on the previous desktop (0-0)

Reviewers: zmike, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D926
2014-06-09 13:30:04 -04:00
Mike Blumenkrantz a4f74adddf block client resize requests for fullscreen clients 2014-06-08 12:27:54 -04:00
Mike Blumenkrantz 483023051e completely redo window profiles
when this feature was added, its behavior was naively set to ignore repeated desk changes. it also was not adequately tested, resulting in a frustratingly large number of bugs.

with these changes, window profiles should no longer be the cause of client visibility being broken as caused by a failure to change desk.

fix TChutney
2014-05-29 16:57:54 -04:00
Mike Blumenkrantz 7440513af0 set stack object name for client-backed stacking objects 2014-05-29 12:19:10 -04:00
Carsten Haitzler 2e72c9fc93 fix infinite property change loop
this fixes T1259
2014-05-19 17:11:02 +09:00
Mike Blumenkrantz 16ad939ecb reorder comp_x init 2014-05-11 12:58:29 -04:00
Seunghun Lee dfd6ebd986 update client initial attributes on geometry configurerequests
split from D808
2014-05-11 12:39:54 -04:00
Mike Blumenkrantz 59afd894e4 lower DESKTOP->NORMAL layer markers on startup to fix override layering 2014-05-10 17:18:09 -04:00
Mike Blumenkrantz 9f99812d1d ignore configure events on layer marker windows 2014-05-10 17:18:08 -04:00
Mike Blumenkrantz 044edb7925 only use e_exec's vdesk if client does not use its remember's vdesk 2014-05-07 21:36:25 -04:00
Gwanglim Lee a5bd16603f e_comp_x: fix black area of override redirect win
Summary:
Black area of override redirect window could send damage notify which has unwanted xy position.
(a) Skip x configure notify with 3,55 316x162 of override redirect win
(b) Handle x show notify: create a new client and x damage for override redirect win
(c) Handle x damage notify with 3,55 316x162

To resolve it, E discards unwanted xy position of first damage for override redirect window.
This fixes remained problem of T1180 and T1188.

Test Plan:
1. Run e with sw engine mode
2. Run pcmanfm
3. Select menu in pcmanfm
4. Check whether menu window has black area

Reviewers: raster, zmike, devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D800
2014-04-26 13:17:13 -04:00
Carsten Haitzler bdc3d5b5e3 formatting 2014-04-18 09:39:16 +09:00
Wonguk Jeong fb437cd1b0 comp_x_screensaver: screensaver off bug fix
Summary:
Can not turn off screensaver due to condition check bug.

@fixes

Test Plan: enlightenment -> do nothing -> screen saver on -> mouse/key input -> check whether screen saver is turned off or not

Reviewers: raster, cedric, zmike

Reviewed By: raster

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D766
2014-04-18 09:35:45 +09:00
Carsten Haitzler cf90b84a42 fix screensaver/blanking issue where a ss on/off events come in together 2014-04-17 13:55:39 +09:00
Mike Blumenkrantz 114b411da1 never use new clients for stacking
fix Tcedric
2014-03-27 21:27:51 -04:00
Mike Blumenkrantz e49b3beff1 ensure minimum X parent window size of 1x1
fix T1098
2014-03-27 16:47:19 -04:00
Mike Blumenkrantz 3f10e7557f ignore X layer window mouse events
fix T1130
2014-03-27 16:47:19 -04: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
Mike Blumenkrantz a2025ddaad ignore size change configurerequests during maximize if not also changing position
correcty fixes gtk window (un)maximize
2014-03-17 12:56:21 -04:00
Mike Blumenkrantz 865dc17221 null check client on X stack request
CID 1155287
2014-03-13 12:05:13 -04:00
Mike Blumenkrantz ae81d76a3c ignore ignored clients for X mouse events
fix T1058
2014-03-06 09:35:00 -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