Is handle_surface_created() still needed?

2015-03-09 Thread Alan Griffiths
Background:

I've been looking at our legacy defaults for window management and came
across the handle_surface_created() method.

This is used to set the focus to a session after a surface has been
supplied to the client but before that surface has had a frame posted.
Hence, in a lot of cases we are setting focus to a surface that is
invisible to the user.

Both the unity downstreams (unity-system-compositor and qtmir) disable
this behaviour. USC replaces it with behaviour that waits for the first
posted frame and then sets the focus - which seems like it would make a
far better default. It isn't immediately obvious what Unity8 does, but
it doesn't use handle_surface_created().

I've spiked removing this function and it breaks a couple of our tests.
One (DefaultShell.
offers_create_surface_parameters_to_placement_strategy) is an
unitentional overconstraint and the other is an explicit test for the
above behaviour.

I don't see any regressions with e.g. "mir_demo_server --window-manager
canonical".

So do we really want this default behaviour and the function to support it?

Alan

-- 
Mir-devel mailing list
Mir-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/mir-devel


Re: Is handle_surface_created() still needed?

2015-03-09 Thread Gerry Boland
On 09/03/15 09:58, Alan Griffiths wrote:
> Background:
> 
> I've been looking at our legacy defaults for window management and came
> across the handle_surface_created() method.
> 
> This is used to set the focus to a session after a surface has been
> supplied to the client but before that surface has had a frame posted.
> Hence, in a lot of cases we are setting focus to a surface that is
> invisible to the user.
> 
> Both the unity downstreams (unity-system-compositor and qtmir) disable
> this behaviour. USC replaces it with behaviour that waits for the first
> posted frame and then sets the focus - which seems like it would make a
> far better default. It isn't immediately obvious what Unity8 does, but
> it doesn't use handle_surface_created().

Like USC, Unity8/QtMir will only give input focus to a surface which has
posted at least one frame.
-G



signature.asc
Description: OpenPGP digital signature
-- 
Mir-devel mailing list
Mir-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/mir-devel


Re: Is handle_surface_created() still needed?

2015-03-09 Thread Daniel van Vugt
scene::Surface::visible() does the first-frame check for you. Although 
you probably know that already.


Be aware however; surfaces go into the Scene (SurfaceStack) immediately. 
Long before they are visible().



On 09/03/15 18:10, Gerry Boland wrote:

On 09/03/15 09:58, Alan Griffiths wrote:

Background:

I've been looking at our legacy defaults for window management and came
across the handle_surface_created() method.

This is used to set the focus to a session after a surface has been
supplied to the client but before that surface has had a frame posted.
Hence, in a lot of cases we are setting focus to a surface that is
invisible to the user.

Both the unity downstreams (unity-system-compositor and qtmir) disable
this behaviour. USC replaces it with behaviour that waits for the first
posted frame and then sets the focus - which seems like it would make a
far better default. It isn't immediately obvious what Unity8 does, but
it doesn't use handle_surface_created().


Like USC, Unity8/QtMir will only give input focus to a surface which has
posted at least one frame.
-G





--
Mir-devel mailing list
Mir-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/mir-devel


Intel bugs

2015-03-09 Thread Daniel van Vugt

Hi all,

The evidence of Intel driver bugs causing frame skipping is slowly 
mounting. If you experience this, please join in:


Modern systems:  https://bugs.freedesktop.org/show_bug.cgi?id=86366
Atom or similar: https://bugs.launchpad.net/mir/+bug/1388490

- Daniel


--
Mir-devel mailing list
Mir-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/mir-devel