Commit Graph

21609 Commits

Author SHA1 Message Date
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
Mike Blumenkrantz 0e416648df optimize e_client_res_change_geometry_restore()
performing the entire unfullscreen/unmaximize routine causes a significant
amount of overhead, and it also breaks window geometries in wayland due to
synchronization
2016-06-07 11:24:27 -04:00
Derek Foreman 573df39c17 Allow pixmap argb state to override window state for wayland clients
Wayland argb state depends entirely on the attached buffer, so we
should use that for determining object argb state on wayland.

ref 6d397e313b
ref 60da58d8ad
2016-06-06 14:06:00 -05:00
Mike Blumenkrantz e95098fedb add tooltip for unloadable teamwork links, make ctrl suppress tw activation
fix T2995
2016-06-02 13:08:52 -04:00
Mike Blumenkrantz ca06cb7837 unset release mode 2016-06-02 12:22:55 -04:00
Mike Blumenkrantz f5f5fcb60b 0.21.0-rc NEWS updates 2016-06-02 12:08:54 -04:00
Mike Blumenkrantz 5321812193 21.0-rc release 2016-06-02 12:06:12 -04:00
Mike Blumenkrantz 07ed7a1433 force mouse-in again during comp ungrab if client previously had mouse-in
unfocus performs a mouse-out, so this is necessary in order to allow events
to reach the client again after a grab ends
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 492f9bcf4e unset comp_grabbed flag before action client compositor ungrab
this flag was blocking accurate event propagation in some cases
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 48ee824c63 only block mouse-out callback for wl action clients if the mouse is grabbed 2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 3c9013eeb0 protect against crash when deleting wl session recovery remember 2016-06-01 13:11:19 -04:00
Derek Foreman 36128ab9a3 Bump wayland version requirement to 1.11.0
1.11.0 includes fixes we need to prevent clients from crashing E by
resizing shared memory pools while our async renderer is running.
2016-06-01 11:30:25 -05:00
Mike Blumenkrantz ffbf4235dd Revert "eo_del -> eo_unref in xwayland"
This reverts commit 1eddd375d8.
2016-06-01 09:57:17 -04:00
Mike Blumenkrantz 859b1b989f handle shaded state when receiving x11 configure requests
previously this would resize the window without unshading it, leading to
a confusing state for the window and the user
2016-05-31 12:31:50 -04:00
Mike Blumenkrantz 68c93a1adf use current zone when activating a client's menu with the mouse
the mouse defines position of a mouse-activated menu

fix T3701
2016-05-31 12:23:50 -04:00
Mike Blumenkrantz 1fef7d04dc delete x11 mouse-in job when hiding the job's client
spurious x11 mouse events will be received when activating a mouse binding which
flips the active desk

fix T3716
2016-05-31 12:21:09 -04:00
Hannes Janetzek b3561d7641 just a small patch to make sure evry_hide does not get called synchronously from an Evry_Action 2016-05-31 11:42:27 -04:00