this prevents an infinite focus loop where focus will be constantly
reapplied between multiple windows if the activated window is not the
refocus window
deferred focus should no longer be valid if a client has been hidden
before the focus-set could be triggered
fixes super fun infinite loop with desk flips
this is a not-great way of hacking around various issues related to
the efl mouse button cancel patches that went in for the 1.15 cycle
which changed the entire mouse input workings of the toolkit.
to avoid further issues, the compositor will explicitly block eventing
on all internal canvases during actions
delfn's on desks being referred to as profile.wait_desk were never
cleared when client was freed. als the desk itself never got an obj
reference - fix that and ref/unref it.
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
Summary: since maximized valuable is used in _e_client_frame_update, so the valuable should be updated.
Test Plan:
(1) run any application.
(2) Maximize the app by key binding.
(3) Change the border type.
(4) Unmaximize the it by key binding.
(5) try to maximize it again, but couldn't
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1357
* if unplaced, place centered on transient-for on initial placement
rather that screen centered
* if transient.move and transient.resize options follow options are on
make transients floow as intended
i know it's not that pretty, but this brings back the
E_CLIENT_HOOK_CANVAS_LAYOUT as there just is no viable replacement and
thus breaks 2 modules. this fixes T1402 - we chances are just that
this needs a separate hook point as it isnt a per-client but a
per-comp hook.
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
this was a neat experiment, but apparently it's not going to be usable for a long time in anything outside efl/elm
This reverts commits f87b9900fa, a49cede790, 81038f8d02, 47cfb31752.
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
This reverts commit 1f8975d546.
totally wrong. do not externally set this.
this issue, which I cannot reproduce, is almost definitely caused due to the fact that _evas_object_layer_set() effectively calls evas_object_raise() without triggering intercept callbacks