Commit Graph

19163 Commits

Author SHA1 Message Date
Mike Blumenkrantz 1ffe765fda watch dirty smart cb for currently unredirected clients in deskmirror
these clients will be unable to create a comp mirror until this callback
is triggered

fix T2585
2015-08-20 15:58:44 -04:00
Mike Blumenkrantz b85005f672 return false when failing to create a mirror during deskmirror obj check 2015-08-20 15:58:37 -04:00
Mike Blumenkrantz 6298e7d81c add some smart callbacks for comp objects on redirect/dirty state change 2015-08-20 15:58:28 -04:00
Mike Blumenkrantz ba15a571b5 force render queue and check for redirection on clients with 0x0 pixmaps
fixes an issue where resizing the current nocomp client could result in a
broken compositor until a render queue was triggered
2015-08-20 15:58:22 -04:00
Cedric BAIL 1f17ec5781 battery: let's finally allow the battery process to rest also when enlightenment die. 2015-08-19 16:48:40 -04:00
Cedric BAIL 8d5c5a44f1 temperature: let's finally allow the temp process to rest also when enlightenment die. 2015-08-19 16:48:33 -04:00
Mike Blumenkrantz 534c7cde11 feed mouse-up event during mouse down on menus
this fixes the case where the mouse is moved while the mouse is pressed
so that the selected menu item will continue to follow the mouse

fix T2127
2015-08-19 15:16:23 -04:00
Mike Blumenkrantz 7f8f136a2a redo fileman menus to only scan the first 100 items found
this was meant to be a quick way to navigate directories, not a fully
operational filemanager in a menu

fix T2462
2015-08-19 15:15:22 -04:00
Mike Blumenkrantz b274b2f619 do not relaunch relaunchable quickaccess windows during logout
fix T2492
2015-08-19 15:14:29 -04:00
Mike Blumenkrantz 939ae73315 set 'stopping' during logout action
this flag is used in some cases to determine whether to behave as
though enlightenment is stopping. in the case of logout, we are stopping.
2015-08-19 15:14:26 -04:00
Mike Blumenkrantz 65d5e1ba7d don't set E_Client->changes.visible on successful show/hide
iirc this was a fix for something else that was going on early in
e19 development, now it creates issues when attempting to hide clients
2015-08-19 14:03:34 -04:00
Mike Blumenkrantz ebac1de8f2 only use deferred focus-setting on desk flip focus if client is not visible 2015-08-18 21:07:37 -04:00
Mike Blumenkrantz 5edb052b87 unset E_Client->want/take_focus flags in hide callback
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
2015-08-18 18:21:06 -04:00
Mike Blumenkrantz 239bbf95cf do not modify E_Client->visible value in show/hide callbacks 2015-08-18 18:21:05 -04:00
Mike Blumenkrantz d6baf3c5ce use better keybind activation logic
fixes a case where keybinds would not activate if no windows were
focused
2015-08-18 18:20:29 -04:00
Mike Blumenkrantz 19caf62872 reject x11 NotifyVirtual and NotifyInferior mouse in events more accurately
these events are valid when moving from parent<->child window

fix T2674
2015-08-18 17:23:51 -04:00
Mike Blumenkrantz 90e18c2bab add event rect for deskmirror in pager/taskbar modes
ensures that events are properly triggered and consumed when this
widget is clicked on

fix T2645
2015-08-17 15:00:23 -04:00
Mike Blumenkrantz 84d0a5c958 19.8 NEWS updates 2015-08-05 12:55:17 -04:00
Mike Blumenkrantz 5e80390ce1 19.8 release 2015-08-05 12:53:46 -04:00
Mike Blumenkrantz 3cb534bb94 show drag object immediately when beginning a drag
fixes flicker at start of drag
2015-08-05 12:48:56 -04:00
Carsten Haitzler 4a48aa32d5 e - shelf menu - handle deletion properly if cb is not for shelf menu
it seems that some changes now make the shel menu post callback be
called for older menus not part of the shelf and thus shelf menu
stored != menu the cb is for - thus resulting in deletion of the wrong
menu
2015-07-31 16:18:00 -04:00
Carsten Haitzler 40caec09e9 e menu - an extra object ref causes menus to never be freed
this has been in e for ages - someone not noticed, but this fixes
visual artifacts of left over menus on the top-left. this extra ref
really makes no sense. it's not like this ref is then accomoanied by a
matching unref somewhere else (after much debugging).

@fix
2015-07-31 16:14:13 -04:00
Mike Blumenkrantz 20ef74ccc5 defer focus-setting on focus revert during desk flip when visibility is pending
in the case that a client is going to be shown on the next loop iteration,
focus setting must still occur and be deferred

this fixes the case of a window appearing on a desk while the user is switching
desks away from it even though this window is attempting to focus itself
2015-07-31 13:58:52 -04:00
Mike Blumenkrantz eea696f9d8 fix wizard module loading when E_MODULE_SRC_PATH is set 2015-07-30 15:42:40 -04:00
Mike Blumenkrantz a3e01008a4 remove spurious focus setting on desk flip without animation
focus gets automatically handled in e_desk_flip_end(). changing it
again here will produce unintended/wrong results in some cases

fix T2071
2015-07-29 19:48:35 -04:00
Carsten Haitzler b321e221b6 e - warning fix - fix SVID_SOURCE complaint warning
reduces useless warnings so we see the real issues, not noise
2015-07-29 17:43:29 -04:00
Mike Blumenkrantz b5e28c8885 add fallback loading of default theme on init
this should fix cases where whatever the user-set theme is doesn't provide
a required group by filling it in

fix T2210
2015-07-29 17:42:55 -04:00
Mike Blumenkrantz a131165174 use gadget zone for evry gadget launcher
probably fixes T2423 maybe
2015-07-29 17:27:27 -04:00
Mike Blumenkrantz e2488a04aa fix build break from previous commit 2015-07-28 23:46:11 -04:00
Mike Blumenkrantz af230fc7f6 disable ecore-evas events on client windows during actions
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
2015-07-28 16:49:18 -04:00
Mike Blumenkrantz bbecf27c97 reject x11 NotifyVirtual and NotifyInferior mouse in events
these are triggered "in passing" when mouse in events occur and do
not necessarily indicate that the mouse has entered this specific window

failing to reject such events can cause mouse-based focus policies to
attempt to set focus onto windows which are not visible, resulting in
an infinite loop where no window is actually focused
2015-07-27 13:29:06 -04:00
Mike Blumenkrantz 7203abf8a3 allow x11 mouse wheel events to check ev->event_window for possible client match
in the event that these windows are different, event_window is the parent of window
which may or may not be explicitly tracked by an E_Client, so the wheel events here
should be sent to the parent as is done in mouse button events

fix T2604
2015-07-27 13:27:57 -04:00
Mike Blumenkrantz b81849009d 19.7 NEWS updates 2015-07-24 13:24:03 -04:00
Mike Blumenkrantz 2884ef284d 19.7 release 2015-07-24 13:23:03 -04:00
Mike Blumenkrantz a0ac666b47 improve x11 compatibility with efl versions earlier than 1.15
canvas grabs changed completely in 1.15, and so it's required that
x11 grab handling also have special runtime cases for this

for such versions the compositor must:
* always grab the internal client window instead of the parent
* always ungrab the window when it has focus
2015-07-24 13:19:11 -04:00
Mike Blumenkrantz 510660e157 use runtime check for determining x11 compositor grab behavior
this should fix the case of users not recompiling enlightenment after
upgrading their efl version
2015-07-24 13:00:16 -04:00
Mike Blumenkrantz 9eb813b939 19.6 NEWS updates 2015-07-23 14:10:12 -04:00
Mike Blumenkrantz 2b733b7443 19.6 release 2015-07-23 14:07:14 -04:00
Mike Blumenkrantz 73102c7048 simulate modal windows for badly behaved x11 clients
it seems that some clients, eg. libreoffice, don't set the modal window
property on child dialogs. instead of fighting for focus, set up the child
as a modal on the parent and then avoid the whole issue

fix T2594
2015-07-21 18:35:47 -04:00
Mike Blumenkrantz 64add23543 always stop passing key events on once they reach the lokker callback 2015-07-21 14:37:47 -04:00
Mike Blumenkrantz ef18cc3f93 ensure clients possess comp_data before dereferencing it during x11 stacking
ref T2566
2015-07-21 14:36:33 -04:00
Mike Blumenkrantz a6990c69a8 never use new clients for stacking part 2: the secret of the stacking
a client with this flag set here is unreliable to use as a stacking
reference since it has yet to be stacked and can be located anywhere
in the window stack.

fixes internal window stacking on startup
2015-07-15 16:26:06 -04:00
Mike Blumenkrantz 8fb7bb18bd ensure that focus is set and focus stack is managed on winlist hide
if pointer warping is disabled, attempting to pointer warp with mouse-based
focus policies will fail here, preventing focus from being applied as expected

ref T2566
2015-07-15 16:25:07 -04:00
Mike Blumenkrantz 3dfb5e07af only trigger client mouse-in from x11 mouse move event if client+desk are visible
ref T2566
2015-07-15 16:24:50 -04:00
Mike Blumenkrantz 75df7e0943 only unset e MANAGED atom on non-shutdown
broken during a bad rebase of 4f8af72fe3
2015-07-15 15:19:24 -04:00
Mike Blumenkrantz 276d979534 fix compile warning 2015-07-10 13:11:42 -04:00
Mike Blumenkrantz b8ee271011 always set x11 override client geometry on startup
this geometry isn't something we can change later, so apply it now.
also fixes an ACK when trying to show input_only clients early
2015-07-10 13:10:41 -04:00
Mike Blumenkrantz 4f8af72fe3 move grabinput focus fix timer to x11 compositor and fix it to Work Better
see inline comments about x11 focus eventing for details

fix T2547
2015-07-08 12:49:06 -04:00
Mike Blumenkrantz 2342a4d38f fix compile against newer efl 2015-07-08 12:46:05 -04:00
Mike Blumenkrantz 0fa853d742 account for race condition when creating initial comp object updates tiler
added to maintain compositor logic parity
2015-07-08 12:45:41 -04:00