Derek Foreman
27e9845abd
Only unignore a client on the first commit with a buffer
...
Otherwise, if a wayland client does its first commit without a buffer
attached it will confuse our focus logic.
2016-06-29 13:20:37 -05:00
Mike Blumenkrantz
033217c8e1
destroy evry's focus-out timer if focus-in occurs before timer triggers
...
fixes dismissal during comp input regrabs
2016-06-29 10:02:47 -04:00
Derek Foreman
124e59df6f
Add a pixel get callback for mirrors
...
Mirrors can be rendered independently of what they're mirroring,
which (at least under wayland) can result in a situation where the
mirror is rendered before the parent sets up their image pointers
properly.
We give mirrors their own callback to prevent that from causing a
crash.
2016-06-28 15:44:00 -05:00
Derek Foreman
a04ee8e253
Revert "Always clear the mirror image data pointer"
...
This reverts commit 326d638ba2
.
This, for some reason, resulted in client surfaces being blacked out,
despite only ever changing mirror surfaces.
2016-06-28 15:43:54 -05:00
Derek Foreman
ab5879b926
Fix wayland pixmap ids again
...
Wayland pixmap ids are a different data type for internal and
external windows. cast them both to 64-bits so they're the same
size regardless of arch.
ref d3ba524a62
2016-06-28 15:43:45 -05:00
Marcel Hollerbach
4f0e3bce84
emix: update sink of sink_input when changed
...
this fixes none changing sinks in the app.
2016-06-25 17:12:35 +02:00
Marcel Hollerbach
afeb588632
e_comp: silence warning, this time really
...
as said on the ML
2016-06-25 16:00:30 +02:00
Marcel Hollerbach
a80bc13336
e_comp: silence warning
...
after talking to zmike, this is by intend.
2016-06-25 15:29:45 +02:00
Marcel Hollerbach
9c8b6a1c5d
e_xkb: eval group before setted to wl
...
otherwise we are going to set 0 as default group.
This commit refactors out _eval_cur_group from the init timer, since wl
does not need a init timer.
2016-06-25 15:01:44 +02:00
Marcel Hollerbach
4bc61cfbd3
music-player: add spotify
2016-06-25 01:11:57 +02:00
Derek Foreman
c22c140c2f
Fix zone setup for wayland compositor on X
...
Both the X and WL code try to set up the output pointer for the
zone. Make the WL output take precedence, since it's actually
used for events.
2016-06-24 14:19:36 -05:00
Mike Blumenkrantz
cefcc5248f
add some hacks to route mouse events to wl popups correctly while mouse is down
...
in a choice between fixing a corner case popup behavior and breaking dnd
or having functional dnd and adding hacks to fix corner case popup behavior,
adding more hacks was the obvious correct solution
ref 03a4ecbdb0
2016-06-24 11:31:02 -04:00
Mike Blumenkrantz
4852a6903b
remove unused event info from _e_comp_wl_mouse_out()
2016-06-24 11:31:02 -04:00
Derek Foreman
eb94710146
Don't try to send surface presence events for zones with no wayland output
...
Avoid that NULL pointer deref.
2016-06-24 10:05:18 -05:00
Mike Blumenkrantz
191e5180b5
Revert "set NOGRAB pointer mode on comp object event objects"
...
This reverts commit 03a4ecbdb0
.
this should be correct, and yet it crashes xwayland and breaks dnd
2016-06-23 18:06:22 -04:00
Mike Blumenkrantz
03a4ecbdb0
set NOGRAB pointer mode on comp object event objects
...
fixes dragging off surfaces in wayland
2016-06-23 17:16:03 -04:00
Derek Foreman
bdf1017f90
Don't send configure to wl_shell popups
...
This confuses Qt badly, and rightly so, because we shouldn't be
doing it.
2016-06-23 11:26:57 -05:00
Derek Foreman
453e6adc33
Use e_client_util_is_popup for checking wayland clients
...
All the different popup types are tested by the helper function,
the current wayland tests were missing some.
2016-06-23 11:22:47 -05:00
Mike Blumenkrantz
9a50f6b218
disallow pager window drags for popups and ignored windows
2016-06-23 12:13:24 -04:00
Mike Blumenkrantz
22aa63c4a3
Revert "do not change E_Client->saved values during maximize if need_maximize is set"
...
This reverts commit 9a9c09f514
.
a better solution should be found at some point since this is broken in x11 too
2016-06-22 13:31:50 -04:00
Mike Blumenkrantz
99e4f8452b
don't set need_maximize during wl commit maximize
...
this breaks the maximize!
partially reverts b5576dbb8c
2016-06-22 12:30:01 -04:00
Mike Blumenkrantz
da7e7d19fb
freeze events on comp object input rects during deletion
...
prevents some event propagation which would cause flickering
2016-06-22 12:28:48 -04:00
Derek Foreman
326d638ba2
Always clear the mirror image data pointer
...
Under wayland evas will sometimes use the old one, I have no idea why.
Fixes a crash bug when mousing out of menus in a GTK app under wayland.
fix T3576
2016-06-21 17:53:16 -05:00
Marcel Hollerbach
a45bbe3d35
e_xkb: init the keyboard on init
...
we need to flush in the first group here. For wayland currently each
keyboard configuration needs to be flushed each time.
2016-06-21 21:43:57 +02:00
Derek Foreman
11796c8b88
Update some wl_shell window handling logic
...
Our xdg_shell implementation has received some fixes that are also
applicable to wl_shell. Qt still uses wl_shell, so we do have a test
case, and do need to keep it up to date.
This copies some window attributes, clamping logic, and diagnostic prints
from the xdg_shell implementation.
2016-06-21 12:33:49 -05:00
Derek Foreman
19817b47de
Send wayland surface enter and leave events
...
These events are supposed to be sent to clients that have bound wl_output
and manipulate surfaces.
2016-06-21 12:33:49 -05:00
Derek Foreman
11cb74a288
Track X outputs for zones
...
We needed this for wayland, so we add the same tracking for X to be
consistent - though we have no users yet.
2016-06-21 12:33:49 -05:00
Derek Foreman
3ff5e8dff4
Track wayland outputs for zones
2016-06-21 12:33:49 -05:00
Derek Foreman
fc37423c2e
Add new API for finding a zone by its id string
2016-06-21 12:33:49 -05:00
Mike Blumenkrantz
36c486906d
apply client size for session recovery remember
...
fixes maximize restoring
2016-06-20 16:04:11 -04:00
Mike Blumenkrantz
b5576dbb8c
use separate flag for pending wl client unmaximize
...
also set flag to prevent saved geometry from being overwritten
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
9a9c09f514
do not change E_Client->saved values during maximize if need_maximize is set
...
this is indicative of a deferred maximize, so don't re-set it and screw up
previously-set values
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
b5ef8766f4
store maximize property from E_Remember to disk
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
c5266515ba
set need_maximize flag on remembered client when applying maximize
...
causes maximize to be applied
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
0f022976e0
use pending wl maximize value to determine maximize flag in xdg configure
...
fixes some cases where fast configures would break maximizing
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
12bcf7ecea
match deskmirror client opacity with original object
...
fix T3911
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
10eb06b377
update secondary remembers when a session recovery remember is updated
...
the session recovery remember may block updates for the user-created
remember, creating continuity issues when a new instance is launched
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
e8e6ada2e1
prevent E_Remember->used_count from going negative
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
890008cdf2
prevent editing of session recovery remembers
...
find/create new ones in this case
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz
a93aadfe01
replace wireless connection error #warning with notification
...
this needs a more robust infrastructure than I'm prepared to write at
the moment, but errors do need to be seen
2016-06-20 12:37:28 -04:00
Mike Blumenkrantz
aa1768a9d9
enforce mouse grabs and block client/compositor event propagation while active
...
fixes cases where mouse events could filter to objects and cause unwanted effects,
such as evry hiding randomly under wayland
2016-06-18 10:56:14 -04:00
Derek Foreman
4bd97bfd5c
Fix eo object use after deletion in evry
...
On window hide the focus out callback is triggering and causing a new
timer to be set up. This timer fires when the window no longer exists.
Remove the focus_out callback when we hide the window.
2016-06-17 16:40:20 -05:00
Mike Blumenkrantz
6fd2d4487f
force unset override and do reshadow on evry when switching to normal win mode
...
fixes window movement and close animations
2016-06-17 17:19:02 -04:00
Derek Foreman
b6819e5a77
Fix wl_shell popup livelock
...
Trying to put wl_shell popups in the popup layer results in stacking
problems later and a never ending loop.
Just don't.
fix T3433
2016-06-16 14:37:15 -05:00
Mike Blumenkrantz
6b081d1d44
do not mouse-out of clients on focus out when focusing a popup
...
popups are transient in nature and do not interfere with mouse-based focus
policies
ref 3e6d6b348f
2016-06-16 14:48:51 -04:00
Derek Foreman
4f8dd3f1e5
Fix wl_shell clamping rules
...
The current clamping logic clamps submenus so that they're contained
within their parent instead of adjacent to them.
2016-06-15 16:39:08 -05:00
Derek Foreman
2463ce8b43
Fix crash in wl_shell surface destroy
...
wl_shell doesn't set up shell.data, but this destructor is shared
with xdg_shell which does.
2016-06-15 15:19:32 -05:00
Mike Blumenkrantz
771f71e6a9
add separate mouse in/out handlers for internal wins
...
internal wayland windows are windows with ssd, meaning they can only receive
pointer events on the contents of the window and not the entire window including
decoration regions
ref T3819
2016-06-13 12:00:09 -04:00
Mike Blumenkrantz
a6bed1841a
use focused client for window actions if passed object is not a client object
...
in the case where an action is triggered from the compositor or manager contexts
the passed object will not be a client, causing actions to fail when they should
succeed
fix T3854
2016-06-09 11:26:17 -04:00
Al Poole
4f1f29ae35
fix openbsd battery calc on amd64
2016-06-09 11:15:09 -04:00