Is handle_surface_created() still needed?
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?
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?
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
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