Mike Blumenkrantz
28a40d359f
allow more client hooks to bypass delete check
...
failing to propagate these signals can result in a broken compositor
when a client is deleted before/during an operation
2015-11-24 21:44:58 -05:00
Mike Blumenkrantz
9539e36707
update E_Client->desk member upon focusing a sticky client
...
a sticky window previously would always have the desk set for where
it was set as sticky, meaning that anything which tries to access it
will be reading wrong data here.
more useful information to provide is the last desk which the sticky
client was focused on, so update that upon focusing it
2015-11-19 16:07:33 -05:00
Mike Blumenkrantz
bc2d090572
use unsigned int for client focus tracking freeze state
...
there's no reason why this should ever be negative
2015-11-10 14:50:34 -05:00
Mike Blumenkrantz
c31824c2ef
move client iconic hint setting into x11 hide function
...
e_hints should probably be merged into the x11 compositor entirely
at some point
2015-11-09 14:23:23 -05:00
Mike Blumenkrantz
ff1ef7281b
simplify client SMART/EXPAND maximize
...
calling e_client_resize_limit() here was misleading since the values
were never used
2015-11-09 14:05:17 -05:00
Mike Blumenkrantz
9324313948
reject frame theme changes for clients which have CSD
2015-11-09 14:04:29 -05:00
Mike Blumenkrantz
f53e85e44c
make wake-on-urgent apply for all cases of window urgency
...
in the case that an urgent window is set as urgent again, wakeup should
still occur
2015-10-09 15:24:37 -04:00
Mike Blumenkrantz
24c2d5fb95
when removing VERTICAL maximize state, also remove LEFT and RIGHT states
...
LEFT and RIGHT are supersets of VERTICAL which serve no purpose on their own,
so remove them when removing VERTICAL
fix T2770
2015-10-07 15:47:41 -04:00
Mike Blumenkrantz
6709eed4c2
unset E_Client->changes.need_unmaximize after calling unmaximize
...
...just in case
2015-09-28 16:12:28 -04:00
Mike Blumenkrantz
de0bffe9c6
remove client maximize states during unmaximize only if they are active
...
do not accidentally remove untested states using bad math operations
2015-09-28 16:12:28 -04:00
Mike Blumenkrantz
d7d7853856
check warp_client existence during pointer warp before dereferencing it
...
ref T2679
2015-09-25 16:27:24 -04:00
Mike Blumenkrantz
351fbd1772
block border-affecting client functions for csd clients
2015-09-24 16:42:31 -04:00
Mike Blumenkrantz
eeda49735c
improve client exe_inst creation
...
ref T2679
2015-09-22 16:01:07 -04:00
Carsten Haitzler
d7fdb67488
e - fix crash in desktop lookup+fixup where exe_inst is null
2015-09-22 16:01:02 -04:00
Mike Blumenkrantz
e2dfd33496
unset E_Client->want/take_focus flags during client eval
...
ref 4a33cd7ba0
2015-09-22 12:06:49 -04:00
Mike Blumenkrantz
c34e693614
only set focus on clients which are visible during client eval
...
focusing a client will automatically uniconify and desk flip, so
setting focus on a hidden client should be avoided during eval since
these focus-sets are not "user triggered"
this fixes issues where clients could randomly grab focus from other
desks and also restores expected behavior when restarting e on an
empty vdesk
2015-09-21 20:05:18 -04:00
Mike Blumenkrantz
8b544ca830
do not return non-visible clients for e_client_under_pointer_get()
...
a hidden client should not be considered "under the mouse" since its
geometry is undefined until it becomes visible again
fix T1069
2015-09-21 17:52:34 -04:00
Mike Blumenkrantz
b23f3cabd8
unshade clients when activating
...
fixes issue where an activated client on another vdesk which was shaded
would appear to be unshaded but was, in fact, shaded
2015-09-08 17:02:42 -04:00
Mike Blumenkrantz
579b5dcb76
force-disable refocus during desk flip on client activation
...
this prevents an infinite focus loop where focus will be constantly
reapplied between multiple windows if the activated window is not the
refocus window
2015-09-08 17:02:40 -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
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
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
eef5efe8c3
move E_Client->mouse.in to E_Client->mouse_in to avoid abi breakage
2015-07-07 13:15:45 -04:00
Chris Michael
099861c55a
enlightenment: Make E build again with EFL from git
...
sed -i 's/EAPI/E_API/g'
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-01 15:56:20 -04:00
Mike Blumenkrantz
9e5c227689
trigger fake mouse-out on clients when unsetting focus
...
this will allow a more reasonable determination of pointer location
when attempting to apply mouse-based focus policies
2015-06-29 16:08:47 -04:00
Mike Blumenkrantz
d9b6e25075
add E_Client->mouse.in for determining mouse-in status
2015-06-29 16:08:47 -04:00
Mike Blumenkrantz
3fc585efa3
fix focusing client on mouse events which trigger actions (with exceptions)
...
block focus events only if focus has changed to another client or the current
client's layer-actual has been lowered
regression from 719b2baeba
2015-05-21 12:32:40 -04:00
Mike Blumenkrantz
88cb4541bd
allow new fullscreening clients to replace current nocomp where applicable
2015-05-18 13:22:53 -04:00
Mike Blumenkrantz
2b1b6def72
reject client fullscreening based on config and desk visibility
2015-05-18 13:21:45 -04:00
Mike Blumenkrantz
7a028f37f3
only apply mouse down focus events if a binding did not run on the same event
...
fixes the case of enabling "raise on click" and also having a mouse binding
for "lower on click" active
fix T2364
2015-04-29 22:08:26 -04:00
Mike Blumenkrantz
aa71cd734c
freeze evas events on clients during keyboard move/resize actions
...
fix T2112
2015-04-29 22:08:22 -04:00
Carsten Haitzler
cbe533c848
e client - desk wait - ref it properly and clean up delfn
...
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.
2015-04-28 12:29:54 -04:00
Mike Blumenkrantz
85e9c985b0
ensure client max w/h props are set before applying them to client geom
2015-04-28 12:24:19 -04:00
Mike Blumenkrantz
92d8abd38c
use client geometry for starting unmaximize calculations
...
the resize operations in this function operate off client geometry, so
stop using frame geometry
fix T2170
2015-04-20 15:34:37 -04:00
Mike Blumenkrantz
facd645829
set E_Exec_Instance desktop during client idler if none present
...
ref T2284
2015-04-13 16:22:32 -04:00
Carsten Haitzler
666da6ab83
e clients - make sure we handle client with a NULL zone
2015-03-11 16:05:52 -04:00
Mike Blumenkrantz
baf9640ef5
fix horizontal/vertical smart maximize
...
fix T2170
2015-03-06 17:18:15 -05:00
Mike Blumenkrantz
1d4f7027a4
set ec->fullscreen before applying fullscreen geometry
2015-03-04 17:08:22 -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
Mike Blumenkrantz
7ea12ff367
clamp client size to screen when client limit policy does not allow offscreen
...
fix T1779
2015-02-18 18:38:39 -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
Mike Blumenkrantz
7570d8809e
completely block border changes on MWM borderless windows
...
ref T1963
seriously.
2015-01-03 00:44:19 -05:00
Mike Blumenkrantz
50f5b74cd8
apply pointer warp effects immediately when instant warping
...
fix T1462
2014-11-28 15:07:32 -05:00
Mike Blumenkrantz
f9370f013e
fix internal window border changing
2014-11-03 17:04:14 -05:00
Mike Blumenkrantz
4374a04e2e
client hooks should not continue to be called if the client has been deleted
2014-09-23 13:18:01 -04:00
Mike Blumenkrantz
16f3595f7d
comp render queue on every client resize instead of on unmaximize
2014-09-23 10:31:24 -04:00
Mike Blumenkrantz
309ff82429
force render queue on unmaximize if client was fullscreen
...
fix T1665
2014-09-18 11:52:46 -04:00
Mike Blumenkrantz
0028c7aea3
fix client positioning when initial position is offscreen or size is huge
...
ref T1571
2014-09-07 12:35:45 -04:00