Commit Graph

145 Commits

Author SHA1 Message Date
Mike Blumenkrantz 62da0f32bf do not apply x11 focus grabs to internal clients if efl version > 1.14
due to recent changes in ecore-input-evas, mouse events are propagated
differently; specifically, there are now "more" events than there previously were.
as a result, grabs on internal wins are no longer necessary, though they probably
never were necessary after the elm conversion

see 5cb6cdbc5e1a13ea0262e155983b494e6519abde in efl
2015-07-02 12:35:21 -04:00
Mike Blumenkrantz 632bdd84a7 fix build break from last commit 2015-07-02 12:34:55 -04:00
Mike Blumenkrantz 0c518414e1 reject x11 replay clicks when event window != client window 2015-07-01 18:02:26 -04:00
Mike Blumenkrantz 26c291c02d only ungrab x11 windows when appropriate focus options are set 2015-07-01 16:50:01 -04:00
Mike Blumenkrantz b0df36d595 ensure x11 focus grabs are applied on client init when needed 2015-07-01 15:57:39 -04:00
Mike Blumenkrantz 00904480d5 straggler ungrab of x11 parent window from previous commit 2015-07-01 15:33:34 -04:00
Mike Blumenkrantz f1fdb26d20 redo all x11 client mouse grabbing for focus
I did an audit of this and it seemed that it no longer served the purpose
for which it was originally intended. specifically, this is for enforcing
click: raise/focus options, and so grabs must be in play on client windows
only when they are not focused to ensure that we get mouse events and can
then focus them. the grabs must then be removed once the window has focus
to avoid spurious mouse eventing
2015-07-01 15:32:06 -04:00
Mike Blumenkrantz 87f4a69612 use client window for x11 button ungrabbing
ref afb62b4989
2015-06-30 18:49:26 -04:00
Carsten Haitzler d7f384f092 e passive window grabs - fix side-effect leave/enter events on clients
when you have click to focus we have a passive grab set up. somewhere
that window changed to the parent window instead of the client. this
leads to a side effect of a leave and enter event on clients for every
click. generally clients are ok with this, but some seem to have buggy
event handling. these enter/leave events are a side effect of the
passive grab even though we allow/replay the event.

this fixes that by placing passive grabs on the client window itself
instead of the parent.

@fix
2015-06-30 18:46:07 -04:00
Mike Blumenkrantz cf332e874c trigger client mouse-in on x11 mouse movement for non-action clients
this should fix the case of mouse-based focus policies trying to reapply
focus after another client has stolen it away without the pointer leaving
the window
2015-06-29 16:08:47 -04:00
Mike Blumenkrantz a416f96c12 check for possible parent window on x11 mouse button events
in the case of different window <-> event_window, window is a child window
of event_window, and thus checking event_window here is valid (and necessary)
2015-06-29 16:04:33 -04:00
Mike Blumenkrantz 84ba19d576 stop rejecting possibly-valid x11 focus events
fixes case where window assumes focus without wm interaction
2015-06-29 16:04:26 -04:00
Mike Blumenkrantz faf4ec630c force xwindow stacking to obey nocomp policy and stack below current nocomp
fix T2277
2015-05-18 13:22:26 -04:00
Mike Blumenkrantz d3d4cbd616 use stderr messages when failing to init X compositor
can't show error dialogs when we're about to exit, may as well print something useful

fix T2182
2015-03-06 15:02:20 -05:00
Mike Blumenkrantz 2d4929e68e rename extremely frustratingly-named E_Screen_Limits enum and members
this came in a patch that I take full responsibility for not adequately reviewing at the time.
the names are confusing and counterintuitive, and it does not properly include the client namespace.

backported to avoid future backport conflicts
2015-02-18 18:56:18 -05:00
Carsten Haitzler 257118514e e - client list update after adding to client list - fix netwm bug
this fixes T2029
2015-02-12 23:14:59 -05:00
Carsten Haitzler 20cf69893e maximization bug affecting libreoffice and others - fix
the problem is something changes window gravity... what i don't know,
but hey - just forcibly move window to 0,0 which is where we expect it
anyway when resizing.

@fix
2015-02-12 23:14:52 -05:00
Mike Blumenkrantz 0d32652545 check focus after X nocomp end
fix T1768
2015-01-08 18:23:46 -05:00
Mike Blumenkrantz f53936eaba don't set gravity on client windows during X move/resize
fix T1940
2015-01-03 00:44:17 -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 e0969644d6 fix X crash when trying to apply desktop window profile to client without desk 2014-12-07 20:18:27 -05:00
Mike Blumenkrantz f9370f013e fix internal window border changing 2014-11-03 17:04:14 -05: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 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