LayoutSystem: make sure the exposed open windows are displayed in the "correct" order
In expose mode the windows were placed in z-order starting by the top-most window that was always put in the bottom right corner. After the change the windows are placed in a similar order to their initial one.
here's a video of the expose mode after the change: http://youtu.be/eYFTeJjaDQE Fixes: 1349281
Approved by: PS Jenkins bot, Marco Trevisan (Treviño)
DecoratedWindow: make edges independent from borders and properly update them on actions changed
Now windows can have edges (handles) also if they are not fully decorated, and
the other way around.
Improved the logic to detect which kind of decorations are supported by windows
(so now we add shadows to windows with borders, and we do not to shaped ones).
Removed a lot of duplicated matrix/region computations.
Properly rebuild decorations when _NET_WM_ALLOWED_ACTIONS changes
Fixes to the ForceQuit dialog shadows (and support for backdrop mode). Fixes: 1276177, 1299741, 1301776, 1324104, 1364225, 1373695
Approved by: Brandon Schaefer, PS Jenkins bot
LockScreenController: wait the primary shield to get the grab before setting the session locked
If that fails (and if the grab has never been gained during this locking session),
it's up to the Controller to decide whether the lock request has to be ignored.
So, if the primary shield fails to grab, before that the screen has ever been locked,
then we have to give up. Otherwise if it fails (but we were already locked), it's safe
to assume that this failure is due to the menus that are currently controlling the grab.
Also setup the primary shield signal connections in a shared place and use a
connection::Manager to keep track of them. Fixes: 1368427, 1371764
Approved by: Andrea Azzarone, PS Jenkins bot
When grabbing keys, try prefixing "XF86" if the key isn't found. GNOME gives us unprefixed keys sometimes. Fixes: 1302885
Approved by: Marco Trevisan (Treviño)
Original authors:
- Iain Lane <email address hidden>
- Iain Lane <email address hidden>