Commit Graph

22312 Commits

Author SHA1 Message Date
Mike Blumenkrantz 5b9dec214e only save client size info on maximize/fullscreen when protocol visible
a client which begins in one of these states must set its size again when
removing the state
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 5720338072 perform frame adjustments before applying wm spec hints during unmaximize
e_client_resize_limit removes frame adjustments before performing calcs,
so ensure that the geometry passed is pre-adjusted to account for this
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz e4b6494936 make e_remember_del() work with sr remembers 2017-03-10 15:55:06 -05:00
Mike Blumenkrantz a7f708d568 add wl client flag to indicate status of xdg6 pre-buffer configure
ensure that initial configure is not sent more than once

ref T5044
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz fece2ab5bf return during comp object pixels function if client was deleted during render 2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 8f896b7862 show x11 parent windows during reparent only if not withdrawn
iconic windows are still shown
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz f2c1976e9a do not force comp objects to render for their proxies if real_hid is set
this flag indicates that the object cannot be rendered
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz adaad812d3 run e_hints_window_init() on new_client eval and not during placement
these are not related
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz f93777181f manually center pointer using compositor size on init when not restarting
when using fake screens this ensures that a viewported canvas will have
the expected mouse position
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 802136f5f2 do not use saved e_randr screens if fake screens have been added 2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 5d62ec3cee make E_COMP_SIZE a global comp resizing env var 2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 7828db4575 track and delete xdg-shell client hooks
fix T5242
2017-03-10 15:55:06 -05:00
Marcel Hollerbach 1277ef9747 tiling: drop move requests from tiled clients 2017-03-10 21:44:08 +01:00
Marcel Hollerbach 2faf052f0d tiling: handling dragging from desk to desk
There are a few cornercases when dragging clients between a tiled and a
untiled one.
2017-03-10 13:49:58 +01:00
Marcel Hollerbach 37be0cf885 tiling: handle the tiling state correctly when on multimonitor
there is no event that indicates that the mouse went to a other zone. To
solve this we simply update the current split type each time when
changing or using the type.
2017-03-10 13:49:44 +01:00
Marcel Hollerbach d1e2d1068a tiling: save the split type per desk
this allows you to have different types per virtual desktop
2017-03-09 23:06:23 +01:00
Marcel Hollerbach 44b5aec991 tiling: refactor the window tree
there are two functions to insert a client, they should perform the same
operations on the parameters.
2017-03-09 19:31:56 +01:00
Marcel Hollerbach 35e729f941 tiling: make windows placable by dragging them arround
If someone starts to drag a client arround, then the client will shrink
into a icon, that now is always at the position of the mouse cursor, if
the drag ends, the client will be placed in the client currently below
it. The client will be placed in a place where the mouse cursor was
currently closer to.
2017-03-09 13:59:48 +01:00
Stephen 'Okra' Houston 9b211b80c3 Luncher: Begin work to handle engage sizing correctly. 2017-03-08 18:21:15 -06:00
Stephen 'Okra' Houston 3ba67bbf3b Sysinfo: Use the correct define for DragonFly. 2017-03-05 17:31:47 -06:00
Marcel Hollerbach fe50e1edf0 tiling: do not pass parent as relative
otherwise the client does not get into the list of parent
2017-03-04 09:19:47 +01:00
Mike Blumenkrantz 2a8d593e8b add handler for EFREET_EVENT_DESKTOP_CACHE_BUILD to e_order init
it's possible that during startup there will never be a CACHE_UPDATE
event, so ensure that an attempt to read occurs by watching this event too
2017-03-03 10:52:24 -05:00
Mike Blumenkrantz 3753586663 set ON_HOLD when activating start gadget 2017-03-03 10:49:33 -05:00
Mike Blumenkrantz 41476f8f3e defer menu activation mouse-up feed
ensure that this is not triggered from an evas post event callback

ref T3144
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz d29fb6b0b5 do not unset E_Client->placed for fullscreen/maximize clients
these are already placed
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz b91d224a4d add Return and Caps_Lock handling to wl key event generation 2017-03-03 10:49:33 -05:00
Mike Blumenkrantz e3a5ab1457 Revert "e - wl mode - stop consuming 100 percent cpu"
This reverts commit cd3490f35c.

this breaks many windows by preventing deferred resizing from occurring.
a window which is unable to resize at the time of this call must be queued
for a deferred resize, otherwise it may never resize at all and thus will
never be rendered

test case: screenshot dialog
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz 9e54e62447 fix dangling pointers in xdg-shell deletion
partially caused by use of wrong hash, partially by failure to remove
list entries

fix T5235
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz 156b8d434b unset deskmirror client's client pointer upon client deletion
prevent invalid access after client deletion
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz cfb1fa41e6 add all wl client frame callbacks with priority AFTER
ensure that these occur after all other callbacks since they can affect
the lifetime of the client object
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz e618e00297 better protect comp object internals from dereferencing freed clients
animating comp objects persist after the lifetime of their client, so
ensure that functions which are likely to be called after the client's free
will not attempt to access client struct members
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz 54dfcea3e0 comment out inlist member of E_Comp_Object struct
this was unused
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz 504f88d24a hide wl clients before deleting them on surface destroy
==13853== Invalid read of size 8
==13853==    at 0x5C7C56: _e_comp_wl_surface_destroy (e_comp_wl.c:1804)
==13853==    by 0xA999971: destroy_resource (wayland-server.c:611)
==13853==    by 0xA9A06F4: for_each_helper (wayland-util.c:374)
==13853==    by 0xA9A073F: wl_map_for_each (wayland-util.c:387)
==13853==    by 0xA999C87: wl_client_destroy (wayland-server.c:763)
==13853==    by 0xA999216: wl_client_connection_data (wayland-server.c:283)
==13853==    by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853==    by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853==    by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853==    by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853==    by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853==    by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853==    by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853==    by 0x441DA9: main (e_main.c:1089)
==13853==  Address 0x30ba5d90 is 176 bytes inside a block of size 1,424 free'd
==13853==    at 0x4C2ED4A: free (vg_replace_malloc.c:530)
==13853==    by 0x4603D6: _e_client_free (e_client.c:588)
==13853==    by 0x5475A8: e_object_free (e_object.c:119)
==13853==    by 0x5477C4: e_object_unref (e_object.c:152)
==13853==    by 0x5473D7: e_object_del (e_object.c:60)
==13853==    by 0x5C7C51: _e_comp_wl_surface_destroy (e_comp_wl.c:1803)
==13853==    by 0xA999971: destroy_resource (wayland-server.c:611)
==13853==    by 0xA9A06F4: for_each_helper (wayland-util.c:374)
==13853==    by 0xA9A073F: wl_map_for_each (wayland-util.c:387)
==13853==    by 0xA999C87: wl_client_destroy (wayland-server.c:763)
==13853==    by 0xA999216: wl_client_connection_data (wayland-server.c:283)
==13853==    by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853==    by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853==    by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853==    by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853==    by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853==    by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853==    by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853==    by 0x441DA9: main (e_main.c:1089)
==13853==  Block was alloc'd at
==13853==    at 0x4C2FA50: calloc (vg_replace_malloc.c:711)
==13853==    by 0x5471A4: e_object_alloc (e_object.c:20)
==13853==    by 0x467AD5: e_client_new (e_client.c:2596)
==13853==    by 0x5C7F11: _e_comp_wl_compositor_cb_surface_create (e_comp_wl.c:1858)
==13853==    by 0xADBDC57: ffi_call_unix64 (in /usr/lib64/libffi.so.6.0.2)
==13853==    by 0xADBD6B9: ffi_call (in /usr/lib64/libffi.so.6.0.2)
==13853==    by 0xA99EEED: wl_closure_invoke (connection.c:935)
==13853==    by 0xA999581: wl_client_connection_data (wayland-server.c:371)
==13853==    by 0xA99C2B0: wl_event_source_fd_dispatch (event-loop.c:90)
==13853==    by 0xA99CC11: wl_event_loop_dispatch (event-loop.c:423)
==13853==    by 0xA787AC0: _cb_create_data (ecore_wl2_display.c:272)
==13853==    by 0xDBE984D: _ecore_call_fd_cb (ecore_private.h:333)
==13853==    by 0xDBEC01B: _ecore_main_fd_handlers_call (ecore_main.c:1992)
==13853==    by 0xDBEC8A9: _ecore_main_loop_iterate_internal (ecore_main.c:2379)
==13853==    by 0xDBEA672: ecore_main_loop_begin (ecore_main.c:1292)
==13853==    by 0x441DA9: main (e_main.c:1089)
2017-03-03 10:49:33 -05:00
Stephen 'Okra' Houston 2847c24e69 Luncher: Check popup status on the correct client. 2017-02-28 11:01:06 -06:00
Chris Michael 96e63d863f Revert "reverse order of shell binding in wl_desktop_shell module"
Reverting the shell order commit in favor of a better approach as
discussed on IRC.

This reverts commit 9b457513e4.
2017-02-28 11:36:23 -05:00
Chris Michael 9b457513e4 reverse order of shell binding in wl_desktop_shell module
Small patch to reverse order of shell binding so that we always
support the newest shell first and fallback to older ones.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 11:26:52 -05:00
Stephen 'Okra' Houston 3b3e2e9897 Merge branch 'master' of git+ssh://git.enlightenment.org/core/enlightenment 2017-02-28 10:09:31 -06:00
Stephen 'Okra' Houston 7d0cfacb80 Luncher: Check for popups when determining clients to add to the tasks. 2017-02-28 10:08:44 -06:00
Chris Michael 933814f3a9 fix wl_drm detection in e_signals.c
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 08:40:00 -05:00
Stephen 'Okra' Houston 2ef2c37062 Luncher: Add config options to function only as a launcher, only as a taskbar, or as both. 2017-02-27 20:57:18 -06:00
Marcel Hollerbach fa0d585aa5 tiling: insert a client in the place where it is currently placed
With this patch we are inserting a client in the tiling tree where it is
currently placed in floating mode.
2017-02-25 17:02:06 +01:00
Mike Blumenkrantz f2550ba326 typo-- 2017-02-24 15:20:23 -05:00
Mike Blumenkrantz cfc538ca55 remove all unnecessary efl version checks
the version of efl required by configure is already higher than these checks
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e39b6601b0 make 'after_restart' variable global
this allows the compositor to detect (accurately) whether it is a new
instance
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 0ce43bd0dd add E_Menu access from its comp object 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e56f689fad show already-visible comp util objects when changing frame type
ensure internal clipper state matches object visibility state
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz a32f7119e2 only move new bryces to zone on create, not existing ones
this resolves an issue where not changing any position-related attrs
would stick the bryce in the wrong location until restart
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e7c2d30a85 add function for printing debug info on an evas object 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e33c01cdce add new explicit method for enabling backlight depending on output type
ensure that nested compositors don't mess with backlight
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 5d875e6a3d enable abort on critical error for non-release builds
this should help with debugging
2017-02-24 14:15:38 -05:00