Mike Blumenkrantz
e2390bebff
only load wayland-specific modules on startup if they have been built
2016-05-10 14:18:09 -04:00
Mike Blumenkrantz
e4f3179731
block keyboard sending for wl clients if a compositor grab is active
...
fix T3599
2016-05-10 13:00:01 -04:00
Mike Blumenkrantz
411f378998
flag wl surfaces as internal during create() based on pid matching
...
fix T3596
2016-05-06 13:52:10 -04:00
Mike Blumenkrantz
ef1772b8cb
implement wl client session recovery
...
another small feature patch brought to you by insomnia
#SamsungFeatures
2016-05-05 15:47:55 -04:00
Mike Blumenkrantz
32cf7162ed
ensure lifetime for wl client focus timer
...
fixes some focus-out crashing
2016-05-03 20:27:02 -04:00
Mike Blumenkrantz
049deb2c12
directly load extra wl modules during compositor init
...
speed++++++++
2016-04-28 17:58:45 -04:00
Mike Blumenkrantz
2c1e864fbc
move wayland surface E_Client del check to a place where it's more useful
...
completely breaks wayland on first commit? off to an auspicious start!
ref d9679f765f
2016-04-26 08:58:50 -04:00
Derek Foreman
d9679f765f
wayland: Fix crash when attempting to create surfaces for deleted clients
...
Internal clients can be deleted by keybind before the surface create
callback fires resulting in a NULL pointer dereference.
2016-04-25 16:40:32 -05:00
Mike Blumenkrantz
08cb34f7ad
ensure that wl clients do not run extra render on hide twice
...
fixes crash when applications crash
2016-04-21 13:55:23 -04:00
Mike Blumenkrantz
6aee63d1dc
redo wl (xdg)shell surface ping
...
- remove (wrong) global variables which tracked client-specific resources
- start ping upon creating a shell surface
- track client-specific shell resources on a per-client basis
2016-04-18 15:37:22 -04:00
Mike Blumenkrantz
40af8d5193
reject xwayland clients in wl client resize handlers
...
fix T3461
2016-04-18 13:15:09 -04:00
Mike Blumenkrantz
005ad4e986
fake client-side geometry during wl (un)maximize interception
...
fixes internal window maximize
2016-04-11 13:41:19 -04:00
Mike Blumenkrantz
63af4ea865
buffer server-side (un)maximize commands to ensure synchronization in wayland
...
maximize is client-initiated and compositor-enforced in wayland, meaning that a
maximize should only be acted upon in the compositor after the client has
acknowledged that it has transitioned into the maximized state (likely removing
part of its csd region) and has resized itself to match the expected maximize
size
fix T3297
2016-04-08 16:08:32 -04:00
Mike Blumenkrantz
b0f2443042
improve behavior of wl client buffered state changes during commits
...
apply e_config maximize policy for buffered (un)maximize, unset buffered states
after applying them
2016-04-08 16:05:00 -04:00
Mike Blumenkrantz
9578ae615f
do not force wl client state update (configure) on (un)maximize done cb
...
this is spurious
2016-04-08 16:04:19 -04:00
Mike Blumenkrantz
b17999de8d
do not sent wl *shell configures from resize callback during maximize
...
this is spurious
2016-04-08 16:03:28 -04:00
Mike Blumenkrantz
9516031e93
only apply buffered wl client maximize during configure if client is not maximized
...
fixes directional maximize
2016-04-07 14:00:25 -04:00
Mike Blumenkrantz
657bc713c7
don't send duplicate configure to wayland clients during unfullscreen
...
this causes unnecessary client-side resizing
2016-04-07 13:56:03 -04:00
Derek Foreman
b8ab7b0738
Remove unwanted debug detritus from last commit
...
#Oops
Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2016-04-07 13:29:58 -04:00
Derek Foreman
68587276cf
Clean up some header inclusion
...
Including certain headers in the wrong order can cause problems if
we're configured to use beta api (right now wayland forces this).
In most cases we should just be including e.h and not the individual
EFL headers anyway. This fixes some of that.
fix T3426, T3428
2016-04-07 13:14:43 -04:00
Mike Blumenkrantz
7e3c2b08ec
move buffered maximize/fullscreen for wl clients to occur before csd update
...
this ensures that all such operations calculate based on the correct csd state
2016-04-06 16:42:10 -04:00
Mike Blumenkrantz
992e04feb2
wayland client maximize/fullscreen cleanups
...
ref da74e690f0
2016-04-05 16:54:04 -04:00
Mike Blumenkrantz
da74e690f0
redo xdg shell to enforce double buffering of client-side configure serials
...
xdg shell configure states (maximize, fullscreen) return a client ack when the
client has applied the state. the ack, followed by the next surface commit,
indicates that the surface is ready to be transitioned into the configured state
2016-04-05 15:05:10 -04:00
Mike Blumenkrantz
d50a20f812
do not send shell configures for deleted wl clients
2016-04-05 15:04:35 -04:00
Mike Blumenkrantz
a99d505771
set WAYLAND_DEBUG=0 during wl compositor init
...
ensures that debug logs won't get both compositor and client output,
making the log impossible to read
2016-04-05 15:03:26 -04:00
Mike Blumenkrantz
e4960ad652
set ELM_ACCEL=gl upon successfully creating a gl wayland compositor
...
...successfully
ref 4aecb7ad14
2016-04-04 16:06:52 -04:00
Mike Blumenkrantz
ed6448eb21
send fake www data during maximize
2016-04-04 14:03:17 -04:00
Mike Blumenkrantz
687b5fb6b6
set maximizing flag during maximize resizing for wl clients
...
a helpful indicator for when to avoid potentially leaking positioning info
2016-04-04 14:02:39 -04:00
Mike Blumenkrantz
3f7e6dc359
wl popup surfaces should not receive focus on show if parent is not focused
...
fix T3339 harder
2016-04-04 12:51:29 -04:00
Mike Blumenkrantz
b9b9ed68b0
remove video child references from wl compositor
...
this is an x11-only thing
2016-04-04 12:51:20 -04:00
Mike Blumenkrantz
dead7646d4
delete internal wayland elm windows in wl client delete request callback
...
fix T2874
2016-04-01 16:48:50 -04:00
Mike Blumenkrantz
4aecb7ad14
set ELM_ACCEL=gl upon successfully creating a gl wayland compositor
2016-04-01 15:14:46 -04:00
Mike Blumenkrantz
c70054174e
implement www wayland extension handling for clients
...
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
2016-04-01 06:29:49 -04:00
Mike Blumenkrantz
607975ccc0
enforce wl xdg popup stacking relative to parent stacking
2016-03-31 14:05:47 -04:00
Mike Blumenkrantz
772163fe3e
force keyboard modifier update on wl client focus-in
...
ensure that clients always receive up-to-date modifiers when they get focus
2016-03-31 11:21:23 -04:00
Mike Blumenkrantz
d7f7eb9448
redo wayland client unignore mechanism
...
wayland clients were previously set as ignored until they obtained
a shell surface in order to avoid early execution of things like placement.
this had no effect.
the ignore must last until the first commit, at which point surfaces have been
sized and can be placed accurately without needing to move the surface around
a lot of times due to resize/frame adjust/birthdays
2016-03-24 16:43:32 -04:00
Marcel Hollerbach
a7c659e258
wl: remove useless calls to e_comp_wl_input_keymap_set
...
those calls are not needed anymore since they will be overriden by e_xkb
init which takes place a few calls later
2016-03-24 20:54:03 +01:00
Marcel Hollerbach
ab4e4e17cb
e_comp_wl: allow variants and options for keyboard settings
...
Also set options and variants to the rule names struct.
There is no need to use strdup here the values are just freed in the
end.
2016-03-24 20:54:03 +01:00
Mike Blumenkrantz
5d27befe44
send resize edges to wl clients on resize start and end
2016-03-23 16:03:33 -04:00
Mike Blumenkrantz
a658c785c3
ignore xwayland clients in wl client delete request callback
...
this breaks the compositor!
2016-03-21 12:13:27 -04:00
Mike Blumenkrantz
952d2c1d25
hide wl clients before deleting them when surface is destroyed
...
clients without hide animations will fail to run cleanup operations during
hide if they are not marked as deleted
2016-03-17 14:09:08 -04:00
Mike Blumenkrantz
d08abd43fd
adjust wayland client coords by window_geometry during first surface commit
...
fixes first window positioning
2016-03-15 16:12:05 -04:00
Mike Blumenkrantz
885d24eeab
unify client post_updates management code into single function
2016-03-14 14:27:15 -04:00
Mike Blumenkrantz
1a91486083
always send wl key releases if surface still exists
...
fixes stuck keys for wl_clients with multiple surfaces
2016-03-12 12:40:39 -05:00
Mike Blumenkrantz
b2107ae2b0
remove maximize_pre flag from wl client comp_data
...
this breaks modification of maximized size for surfaces as well as animations
fix T3297
partially reverts 0321fd690e
2016-03-12 11:18:10 -05:00
Mike Blumenkrantz
57f62675cc
make wayland client keyboard focus list pruning more robust
...
this should handle all possible cases where focused keyboard resources
need to be removed from the global list
2016-03-10 15:18:47 -05:00
Mike Blumenkrantz
f91ed81cd1
run focus-out and mouse-out wayland client callbacks for deleted clients
...
this fixes a number of issues caused by clients not cleaning up on deletion
ref 3e9029ea08
#YouAlwaysRememberTheFirstTimeYouBorkedTheCompositor
2016-03-10 14:47:41 -05:00
Derek Foreman
ff70943f76
Fix wayland hide for internal windows
...
We need to make sure we drop reference on all exit paths through the
hide callback - somehow this only seemed to break internal windows.
ref 65166c5a36
2016-03-10 12:19:32 -05:00
Derek Foreman
e4490c4bf6
Re-enable window close animations for wayland
...
These should work properly with the new buffer management code.
2016-03-08 12:46:32 -05:00
Derek Foreman
36586fbf9c
Remove wayland buffer reference
...
This code is similar to code in weston, but doesn't really work properly
for us in E, since this can blow up buffers behind the async renderer's
back.
The rest of the reference code has been pushed into e_pixmap, so we can
kill this all now.
2016-03-08 12:46:32 -05:00