Mike Blumenkrantz
106dfe4e21
only attempt to provide wayland drag motion data if drag exists
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz
3dca058dfa
block wayland mouse button propagation to clients while drag is active
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz
9740477615
store global wayland data manager resource
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz
aa5788175b
move wl compositor function for creating data sources to be external
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz
0f070c6683
reenable compositor shape cutting onto the selection window in xwl
...
this will provide x11 eventing as needed on an already existing window
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz
fa75d181d4
block internal usage of x11 input grabs under wayland
...
these shouldn't be necessary since we control the input
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz
dddbe2a518
force mouse-up on wayland drag start
...
allows mouse eventing to function as expected during drags and provides
updating during the drag
2015-08-05 17:30:03 -04:00
Mike Blumenkrantz
f2f4b65ead
move menu mouse-up feed util function to E_API in comp canvas
2015-08-05 17:26:50 -04:00
Mike Blumenkrantz
b7cc0e07b8
enable x11 dnd in wayland compositors
...
maximize footgun potential since this currently crashes immediately
2015-08-05 16:07:10 -04:00
Mike Blumenkrantz
53900d184a
use pointer hash to track data manager resources
2015-08-04 19:48:45 -04:00
Mike Blumenkrantz
5f6c91a4f4
block screensaver activation during wl dnd operations
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
d4aa1ba7c2
add functionality for blocking wl screensaver activation
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
1beecb72d7
add server-side wl dnd
...
weston-dnd seems to work as expected
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
bce5283b57
fix wl data device kbd focus function
...
this should only send the selection offer
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
b5a5e98632
make wl data device util function EINTERN
...
e_comp_wl_data_find_for_client()
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
965d089c8a
add more wl data device debug infos
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
616ca6583e
apply wayland data device focus after focus has been set
...
the focus_set client hook is for setting focus, not for doing things which
must occur after focus has been set
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
6a50d5f581
fix compositor type detection for dnd operations
...
wayland compositors will always use a compositor grab
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
b33d8bdf10
allow new drags to be created with no associated mime types
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
b011c4a045
reduce explicit ecore-x type usage in e_dnd
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
fa11e0ecd7
further unify drag start functions
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
e5678549da
track the current pointer focus client in wayland compositor
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
acf5d09796
reject deleted clients from wl show callback
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
9669dc1dc5
show drag object immediately when beginning a drag
...
fixes flicker at start of drag
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
2607ad2339
only return xwayland pixmap from e_comp_x_client_pixmap_get() for xwl clients
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz
5526bd357a
unify most of drag start functions
2015-07-31 15:35:55 -04:00
Mike Blumenkrantz
81a797a0fa
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:29 -04:00
Mike Blumenkrantz
04fe354592
notidle the screensaver in wl compositor mouse move cb
...
fixes screen blanking while user is active
2015-07-30 16:35:51 -04:00
Mike Blumenkrantz
de1d24021b
set ELM_DISPLAY appropriately for wayland compositors
2015-07-30 16:29:25 -04:00
Mike Blumenkrantz
847d3fe358
reject internal window moves when they originate from a wl configure event
...
fixes a number of internal win positioning issues
2015-07-30 16:22:08 -04:00
Mike Blumenkrantz
24ec288b3c
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:47:49 -04:00
Mike Blumenkrantz
9ad208bfb8
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:41:21 -04:00
Mike Blumenkrantz
7848947ea0
Revert "remove unnecessary geometry setting during xwl client swap"
...
This reverts commit ae1fc10d06
.
not unnecessary if the client has already been shown. fixes xwl menus
randomly showing up at 0,0
2015-07-29 15:40:02 -04:00
Mike Blumenkrantz
cd0e11c8c3
fix new_client setting on xwl clients during swap
2015-07-29 15:39:39 -04:00
Mike Blumenkrantz
1496b3db7b
don't reset wayland surface geometry for overrides
2015-07-29 15:38:17 -04:00
Mike Blumenkrantz
01ba4eea55
end compositor animations for dead clients on hide
...
fixes a huge object leak in xwayland related to menus
2015-07-29 15:25:22 -04:00
Mike Blumenkrantz
e5d367292f
return immediately on wayland focus-in key timer when no focused kbds exist
2015-07-28 17:36:13 -04:00
Mike Blumenkrantz
c9e35cc0f9
do not call ecore_time_unix_get() on each key sending loop for wayland clients
2015-07-28 17:34:58 -04:00
Derek Foreman
fea72d5fcd
wayland: Only send keyboard modifiers to focused resources
...
Summary: We were sending them to anything that bound a wl_keyboard.
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2879
2015-07-28 17:12:57 -04:00
Mike Blumenkrantz
8278e20183
reduce delay before running screensaver-off animations in wayland
...
this feels a bit more natural while still displaying animations after dpms
has finished cycling
2015-07-28 16:58:53 -04:00
Mike Blumenkrantz
42bc9b0bef
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:46:00 -04:00
Mike Blumenkrantz
f7ca0b5791
disable x11 mouse eventing in wayland compositor mode
...
these events are delegated directly by the compositor. anything that
is told to us by x11 may or may not be the case and we shouldn't care
either way
2015-07-28 15:59:19 -04:00
Mike Blumenkrantz
784af9c097
do not create wayland screensaver timer when screensaver is disabled
...
ref T2609
2015-07-28 12:41:05 -04:00
Mike Blumenkrantz
6faa894a59
block xsettings config update if xsettings has not been initialized
...
fix T2610
2015-07-28 12:34:05 -04:00
Mike Blumenkrantz
db41479414
fix x11 detection for wayland compositor setup
...
ref T2609
2015-07-28 12:32:50 -04:00
Mike Blumenkrantz
9138b484d1
fix desklock-related screensaver modification
...
ref T2609
2015-07-28 12:31:22 -04:00
Mike Blumenkrantz
c4024acfd2
ensure expected screensaver blanking in x11 compositors with HAVE_WAYLAND
2015-07-27 18:24:34 -04:00
Mike Blumenkrantz
812ceafec6
fix wl screensaver activation when deactivating during fade
2015-07-27 17:32:11 -04:00
Mike Blumenkrantz
376945dcd8
add dpms handling for wayland compositors
2015-07-27 16:54:31 -04:00
Mike Blumenkrantz
9efb05a865
add E_EVENT_SCREENSAVER_OFF_PRE
...
for hooking dpms changes which occur before animations play
2015-07-27 16:54:01 -04:00
Mike Blumenkrantz
56a73e3c67
add dpms method for E_Comp_Screen_Iface
2015-07-27 16:47:55 -04:00
Mike Blumenkrantz
4543e26ca6
remove e_screensaver_force_update()
...
this was just used to set up x11 screensaver stuff, which has now been
relocated to the related comp_init function
2015-07-27 15:54:15 -04:00
Mike Blumenkrantz
7f638d98bf
add functioning wayland screensaver support
...
block xscreensaver events, manage input<->activation eventing
fix T2525
2015-07-27 15:46:57 -04:00
Mike Blumenkrantz
c2ecadae14
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:25:01 -04:00
Mike Blumenkrantz
0a8ee7b5ad
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:23:13 -04:00
Mike Blumenkrantz
0d19a5914b
apply csd sizing transform for wayland configure events
...
when not resizing, the sizes passed to configure should be based on the
window size and not the surface size. in order to calculate this, it's
necessary to keep track of the last-known window geometry for non-maximized
states and create offsets with which to calculate new sizes
this fixes directional maximizes as well as unmaximizing
2015-07-24 16:35:21 -04:00
Mike Blumenkrantz
9e4fe82fbc
always send geometry to configure method for wayland clients when not resizing
...
failure to set this would lead to clients changing geometry when maximized while
focus state was removed
2015-07-24 16:34:18 -04:00
Mike Blumenkrantz
0321fd690e
do not send duplicate configures for wayland clients during maximize
...
this seems to not have caused any real issues, but it made debugging
more of a pain and is unnecessary connection noise
2015-07-24 16:33:33 -04:00
Mike Blumenkrantz
dd1577a169
fix client smart callbacks on (un)maximize
...
these should match the callbacks triggered for whatever the current
maximize state is
2015-07-24 14:34:03 -04:00
Mike Blumenkrantz
187fd44936
add an actual module no-save blacklist
...
this should make it easier to keep track of modules that should be
blocked from having their load states saved
2015-07-24 14:34:03 -04:00
Chris Michael
33414c0a0d
enlightenment: Remove static function prototype for unused function
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-24 13:16:04 -04:00
Chris Michael
b98a58f632
enlightenment: Allocate space for terminating NULL
...
Fixes CID1261289
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-24 13:12:20 -04:00
Chris Michael
f25f074be5
enlightenment: Remove listener for XDnD status
...
As we don't do anything within this handler, having it is just
pointless. Remove it. Fixes Coverity CID1267214
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-24 13:09:36 -04:00
Derek Foreman
457f3c013c
wayland: fix key repeat
...
Summary:
wl_keyboard_send_repeat_info takes ints, not floats. We were rounding to
0 and weston-terminal didn't key repeat.
fixes T2597
Reviewers: devilhorns, zmike
Subscribers: cedric
Maniphest Tasks: T2597
Differential Revision: https://phab.enlightenment.org/D2859
2015-07-23 11:01:31 -04:00
Mike Blumenkrantz
5cbbe261d7
add a timer for wl client focus to delay held key input
...
this prevents keys from immediately being sent to newly-focused clients
and avoids the case of reverting focus from one app to another on keybind
close, only to have the second app also close immediately using the same keybind
2015-07-22 17:55:30 -04:00
Mike Blumenkrantz
738622b068
send wl kbd modifiers only when changes occur
2015-07-22 17:46:39 -04:00
Mike Blumenkrantz
d38b2eb6b3
create/manage list of focused wl keyboard resources for reuse in kbd operations
...
this simplifies kbd code all over
2015-07-22 17:40:28 -04:00
Mike Blumenkrantz
0b66c2d841
set new_client flag on xwl clients during swap
...
this forces another run of client placement so that xwl clients do
not always appear at 0,0
2015-07-22 17:10:49 -04:00
Mike Blumenkrantz
ae1fc10d06
remove unnecessary geometry setting during xwl client swap
...
this geometry will be applied during show
2015-07-22 17:10:11 -04:00
Mike Blumenkrantz
43ed8dbdb5
set shell-less wl surface mapped state regardless of visibility during commit
...
new_client flag here will defer show operations, but the operations will complete
2015-07-22 17:09:14 -04:00
Mike Blumenkrantz
6dfc6da02c
update wl keyboard resource key presses on focus in/out of surfaces
2015-07-22 16:59:23 -04:00
Mike Blumenkrantz
5c5fb11187
allow wl client focus-out callback to execute on deleted E_Clients
2015-07-22 16:28:48 -04:00
Mike Blumenkrantz
435bd8794a
don't update wl keyboard state on client focus events
...
this is always up-to-date
2015-07-22 16:28:08 -04:00
Mike Blumenkrantz
75fb072dc3
fix backlight init value
...
in the case where xrandr is not used, setting backlight to very dim on init
will result in the backlight remaining at a very dim level when the backlight
normal level is 1.0 since backlight values will not successfully update until
at least 0.05s after the main loop starts
ref T1333
2015-07-22 13:56:19 -04:00
Mike Blumenkrantz
818fcb01f4
fix compositing error when client is ec->hidden during show animation
...
this prevented clients from being deleted and resulted in artifacts and
memory leaks
2015-07-22 13:30:02 -04:00
Mike Blumenkrantz
a3d5762bf2
simplify deskmirror client desk checking
2015-07-22 13:23:53 -04:00
Mike Blumenkrantz
9c1fca5a16
fix wl build
2015-07-22 12:24:35 -04:00
Mike Blumenkrantz
a9db84f94e
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:24:39 -04:00
Mike Blumenkrantz
a951b88305
don't block keybind activation while grabs are active
2015-07-21 15:33:50 -04:00
Mike Blumenkrantz
b51e5fa0b2
ensure clients possess comp_data before dereferencing it during x11 stacking
...
ref T2566
2015-07-21 14:34:11 -04:00
Mike Blumenkrantz
5c00c1009b
redo wl compositor key eventing
...
* break out key callbacks into EINTERNs
* remove extraneous/unused mouse event handlers
* enforce wl modifier updating in all cases
* ensure keybinds are activated before wl clients receive input
- block wl client input during grabs
fixes T2565
2015-07-21 14:27:29 -04:00
Mike Blumenkrantz
d2fce4ce27
do not add x11 compositor desklock hooks in non-x11 compositor
2015-07-21 14:25:41 -04:00
Mike Blumenkrantz
2ce5dfa33f
add wl compositor desklock hooks to add grabs during lock
2015-07-21 14:25:16 -04:00
Mike Blumenkrantz
21b8016c5b
add clients to focus stack as necessary in e_client_unignore()
2015-07-21 14:21:36 -04:00
Mike Blumenkrantz
3c3f0845f3
fix typo in comp object opaque region render
...
#DerekWasRight
2015-07-20 17:26:13 -04:00
Mike Blumenkrantz
f6725c53a4
move opaque region (image border) apply to render fn
...
this seems to provide a more accurate region for rendering in my tests,
as various weston-apps no longer show black rects during resize
2015-07-20 14:38:44 -04:00
Mike Blumenkrantz
612a61ce0e
don't mangle wl client opaque region tiler during commit clip
2015-07-20 14:38:31 -04:00
Mike Blumenkrantz
4acce00428
improve wl compositor tiler usage
...
pixman <-> tiler api naming seems similar but functionality is totally
different
2015-07-20 14:10:55 -04:00
Mike Blumenkrantz
4d76741533
only perform keybind grabs on root window for x11 compositors
2015-07-20 13:32:06 -04:00
Mike Blumenkrantz
f2d71ad903
block compositor keybinds using more accurate x11 detection
...
blocking based on event window here is only valid for true x11 compositors
and not just compositors with root windows
fixes keybind activation when running xwayland clients
2015-07-20 13:29:13 -04:00
Carsten Haitzler
ee16a11455
e - randr allow you to turn off screens and keep them off if config says so
2015-07-19 22:41:48 +09:00
Carsten Haitzler
94a15856bd
e - unbreak client pixmaps when native surf is used
...
this unbreaks disappearing client content introduced by
5a001b1759
.
2015-07-18 23:39:46 +09:00
Mike Blumenkrantz
6b7ce91373
do not set opaque regions on comp object mirrors
...
based on testing, this breaks all rendering of related objects. I
suspect that the image border needs to be manually scaled based on
image::mirror proportions in order for this to work as expected, but
adding the required code seems like too much complexity for nearly zero
gain
2015-07-17 16:09:52 -04:00
Mike Blumenkrantz
1d4d906361
render surface opaque regions as opaque when image border is set
...
it seems that just setting the opaque region is not enough for evas;
we must also inform it that the opaque region is opaque and should not
be blended
2015-07-17 16:07:01 -04:00
Mike Blumenkrantz
552f065c09
zero out wl surface opaque region on commit in all cases
...
it's possible that the opaque ptr may exist but have no regions,
which will result in the previous frame's opaque region being used
2015-07-17 15:58:14 -04:00
Mike Blumenkrantz
bd776b157f
add e_client_unignore() for triggering events when unignoring a client
...
mainly for use in wayland compositing since all surfaces are ignored
until they get a shell surface or a commit
2015-07-17 15:30:30 -04:00
Mike Blumenkrantz
51c74889cf
fix wl_fb define name in comp init
2015-07-17 15:30:30 -04:00
Mike Blumenkrantz
5a001b1759
enforce image border/size/pixels_dirty setting on comp mirrors during create
...
this should provide a more accurate first-render for mirrors as they are added
2015-07-17 15:30:30 -04:00
Mike Blumenkrantz
6471ba0a05
do not update client list hint when creating a new wayland client
2015-07-17 15:30:30 -04:00
Mike Blumenkrantz
fbe55d20f1
always set new wayland E_Clients to be ignored during client hook
2015-07-17 15:30:30 -04:00